javax.faces.component

## Interface StateHelper

- All Superinterfaces:
    StateHolder

      public interface StateHelper
      extends StateHolder

  Define a `Map`-like contract that makes it easier for components to implement `PartialStateHolder`. Each `UIComponent` in the view will return an implementation of this interface from its `UIComponent.getStateHelper()` method.

  Since:
    2.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(Serializable key, Object value)` Store the specified `value` in a `List` that is internal to the `StateHelper`.
    `Object` | `eval(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.
    `Object` | `eval(Serializable key, Object defaultValue)` Performs the same logic as `eval(java.io.Serializable)` } but if no value is found, this will return the specified `defaultValue`
    `Object` | `get(Serializable key)` Return the value currently associated with the specified `key` if any.
    `Object` | `put(Serializable key, Object value)` Return the previously stored value and store the specified key/value pair.
    `Object` | `put(Serializable key, String mapKey, Object value)` Store the specified `mapKey`/`value` in a `Map` that is internal to the helper, and return the previously stored value.
    `Object` | `remove(Serializable key)` Remove the key/value pair from the helper, returning the value previously stored under this key.
    `Object` | `remove(Serializable key, Object valueOrKey)` Remove a value from the inner data structure.

    - ### Methods inherited from interface javax.faces.component.StateHolder

      `isTransient, restoreState, saveState, setTransient`

- - ### Method Detail

    - #### put

          Object put(Serializable key,
                   Object value)

      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.

      Parameters:
        `key` - the key for the value
        `value` - the value
      Since:
        2.0

    - #### remove

          Object remove(Serializable key)

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

      Parameters:
        `key` - the key to remove
      Since:
        2.0

    - #### put

          Object put(Serializable key,
                   String mapKey,
                   Object value)

      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 `remove(java.io.Serializable, Object)`.

      Parameters:
        `key` - the key of the map itself
        `mapKey` - the key within the internal map
        `value` - the value for the key in the internal map
      Since:
        2.0

    - #### get

          Object get(Serializable key)

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

      Parameters:
        `key` - the key for which the value should be returned.
      Since:
        2.0

    - #### eval

          Object eval(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.

      Parameters:
        `key` - the name of the value in the internal map, or the name of a value expression in the components value expression collection.
      Since:
        2.0

    - #### eval

          Object eval(Serializable key,
                    Object defaultValue)

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

      Parameters:
        `key` - the key for which the value should be returned.
        `defaultValue` - the value to return if no value is found in the call to `eval()`.
      Since:
        2.0

    - #### add

          void add(Serializable key,
                 Object value)

      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 `remove(java.io.Serializable, Object)`.

      Parameters:
        `key` - the key for which the value should be returned.
        `value` - the value to add
      Since:
        2.0

    - #### remove

          Object remove(Serializable key,
                      Object valueOrKey)

      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.

      Parameters:
        `key` - the key of in the inner data structure whose value is a `Collection` or `Map`
        `valueOrKey` - the value or key to be removed.

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.