All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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; }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy