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

javax.faces.component.StateHelper Maven / Gradle / Ivy

Go to download

Jakarta Server Faces defines an MVC framework for building user interfaces for web applications, including UI components, state management, event handing, input validation, page navigation, and support for internationalization and accessibility.

There is a newer version: 3.1.0.SP02
Show newest version
/*
 * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0, which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the
 * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 * version 2 with the GNU Classpath Exception, which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 */

package javax.faces.component;

import java.io.Serializable;

/**
 * 

Define a Map-like contract * that makes it easier for components to implement {@link * PartialStateHolder}. Each {@link UIComponent} in the view will * return an implementation of this interface from its {@link * UIComponent#getStateHelper} method.

* * @since 2.0 */ public interface StateHelper extends StateHolder { /** *

Return the previously stored value * and store the specified key/value pair. This is intended to * store data that would otherwise reside in an instance variable on * the component.

* * @param key the key for the value * @param value the value * @return the previously stored value * @since 2.0 */ Object put(Serializable key, Object value); /** *

Remove the key/value pair from the * helper, returning the value previously stored under this key.

* * @param key the key to remove * @return the removed value. * @since 2.0 */ Object remove(Serializable key); /** *

Store the specified * mapKey/value in a Map that * is internal to the helper, and return the previously stored * value. The Map will then be associated with * key.

* *
*

It's important to note for delta tracking that any * modifications to the internal Map be made through * this method or {@link StateHelper#remove(java.io.Serializable, * Object)}.

* *
* * @param key the key of the map itself * @param mapKey the key within the internal map * @param value the value for the key in the internal map * @return the value. * @since 2.0 */ Object put(Serializable key, String mapKey, Object value); /** *

Return the value currently * associated with the specified key if any.

* * @param key the key for which the value should be returned. * @return the value. * @since 2.0 */ Object get(Serializable key); /** *

Attempts to find a value associated * with the specified key, using the value expression collection * from the component if no such value is found. * * @param key the name of the value in the internal map, or the name * of a value expression in the components value expression * collection.

* @return the evaluated value. * @since 2.0 */ Object eval(Serializable key); /** *

Performs the same logic as {@link * #eval(java.io.Serializable)} } but if no value is found, this * will return the specified defaultValue

* @param key the key for which the value should be returned. * @param defaultValue the value to return if no value is found in * the call to eval(). * @return the evaluated value. * @since 2.0 */ Object eval(Serializable key, Object defaultValue); /** *

Store the specified * value in a List that is internal to the * StateHelper.

* *

It's important to note for delta * tracking that any modifications to the internal List * be made through this method or {@link * StateHelper#remove(java.io.Serializable, Object)}.

* * @param key the key for which the value should be returned. * @param value the value to add * @since 2.0 */ void add(Serializable key, Object value); /** *

Remove a value from the inner data * structure. Look in the inner data structure for the value at the * given key. If the value is a Map, * remove and return the value under the key given by the * valueOrKey argument. If the value is a * Collection, simply remove the value given by * the argument valueOrKey and return null.

* * @param key the key of in the inner data structure whose value is * a Collection or Map * @param valueOrKey the value or key to be removed. * @return the removed value. */ Object remove(Serializable key, Object valueOrKey); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy