![JAR search and dependency download from the Maven repository](/logo.png)
javax.portlet.faces.preference.Preference Maven / Gradle / Ivy
/*
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
* agreements. See the NOTICE file distributed with this work for additional information regarding
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License. You may obtain a
* copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
* law or agreed to in writing, software distributed under the License is distributed on an "AS IS"
* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
* for the specific language governing permissions and limitations under the License.
*/
package javax.portlet.faces.preference;
import java.util.List;
import javax.portlet.ReadOnlyException;
/**
* The Preference
interface allows one to access each
* PortletPreferences
as a discrete object. This allows one to more
* easily access a preference via EL. Operations made on a Preference
* object are immediately reflected in the underlying PortletPreferences
.
* As usual, changes aren't committed until PortletPreferences.store
* is called.
*/
public interface Preference
{
/**
* Sets the name of this preference.
*
* @param name
* the new name for this preference.
*/
public void setName(String name);
/**
* Returns the name of this preference.
*
* @return the name of this preference.
*/
public String getName();
/**
* Returns the first String value associated with this preference.
* If there is one or more values associated with this preference
* it returns the first associated value.
* If there are no values associated with this preference, or the
* backing preference database is unavailable, it returns null.
*
* @return the first value associated with this preference, or null
* if there isn't an associated value or the backing
* store is inaccessible.
*
*
* @see #getValues()
*/
public String getValue();
/**
* Returns a List
of values associated with this preference.
*
* Returns the null
if there aren't any values,
* or if the backing store is inaccessible.
*
*
If the implementation supports stored defaults and such a
* default exists and is accessible, they are returned in a situation where null
* otherwise would have been returned.
*
*
*
* @return the List associated with
* this preference, or null
if the
* associated value does not exist.
*
* @see #getValue()
*/
public List getValues();
/**
* Returns true, if the value of this preference cannot be modified by the user.
*
* Modifiable preferences can be changed by the
* portlet in any standard portlet mode (EDIT, HELP, VIEW
).
* Per default every preference is modifiable.
*
* Read-only preferences cannot be changed by the
* portlet in any standard portlet mode, but inside of custom modes
* it may be allowed changing them.
* Preferences are read-only, if they are defined in the
* deployment descriptor with read-only
set to true
,
* or if the portlet container restricts write access.
*
* @return false, if the value of this preference can be changed
*
*/
public boolean isReadOnly();
/**
* Resets or removes the value(s) of this preference.
*
* If this implementation supports stored defaults, and there is such
* a default for the specified preference, the preference will be
* reset to the stored default.
*
* If there is no default available the preference will be removed from
* the underyling system.
*
* @exception ReadOnlyException
* if this preference cannot be modified for this request
*/
public void reset() throws ReadOnlyException;
/**
* Associates the specified String value with this
* preference.
*
* null
values
* for the value parameter are allowed.
*
* @param value value to be associated with the specified key.
*
* @exception ReadOnlyException
* if this preference cannot be modified for this request
*
* @see #setValues(String[])
*/
public void setValue(String value) throws ReadOnlyException;
/**
* Associates the specified String array value with this
* preference.
*
* null
values
* in the values parameter are allowed.
*
* @param values values to be associated with key
*
* @exception ReadOnlyException
* if this preference cannot be modified for this request
*
* @see #setValue(String)
*/
public void setValues(String[] values) throws ReadOnlyException;
}