Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.faces.convert
Class EnumConverter

    java.lang.Object
      javax.faces.convert.EnumConverter

All Implemented Interfaces:
  PartialStateHolder, StateHolder, Converter

    public class EnumConverter

extends Object
implements Converter, PartialStateHolder

`Converter` implementation for `java.lang.Enum` (and enum primitive) values.

Since:
  1.2

Field Summary
`static String` | `CONVERTER_ID` The standard converter id for this converter.
`static String` | `ENUM_ID` The message identifier of the `FacesMessage` to be created if the conversion to `Enum` fails.
`static String` | `ENUM_NO_CLASS_ID` The message identifier of the `FacesMessage` to be created if the conversion to `Enum` fails and no target class has been provided.

Constructor Summary
`EnumConverter()`
`EnumConverter(Class targetClass)`

Method Summary
`void` | `clearInitialState()` Reset the PartialStateHolder to a non-delta tracking state.
`Object` | `getAsObject(FacesContext context, UIComponent component, String value)` Convert the `value` argument to one of the enum constants of the class provided in our constructor.
`String` | `getAsString(FacesContext context, UIComponent component, Object value)` Convert the enum constant given by the `value` argument into a String.
`boolean` | `initialStateMarked()` Return `true` if delta state changes are being tracked, otherwise `false`
`boolean` | `isTransient()` If true, the Object implementing this interface must not participate in state saving or restoring.
`void` | `markInitialState()` The runtime must ensure that the `PartialStateHolder.markInitialState()` method is called on each instance of this interface in the view at the appropriate time to indicate the component is in its initial state.
`void` | `restoreState(FacesContext facesContext, Object object)` Perform any processing required to restore the state from the entries in the state Object.
`Object` | `saveState(FacesContext facesContext)` Gets the state of the instance as a `Serializable` Object.
`void` | `setTransient(boolean b)` Denotes whether or not the Object implementing this interface must or must not participate in state saving or restoring.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### CONVERTER_ID

    public static final String CONVERTER_ID

  The standard converter id for this converter.

  See Also:
    Constant Field Values

### ENUM_ID

    public static final String ENUM_ID

  The message identifier of the `FacesMessage` to be created if the conversion to `Enum` fails. The message format string for this message may optionally include the following placeholders:

  - `{0}` replaced by the unconverted value.
  - `{1}` replaced by one of the enum constants or the empty string if none can be found.
  - `{2}` replaced by a `String` whose value is the label of the input component that produced this message.

  See Also:
    Constant Field Values

### ENUM_NO_CLASS_ID

    public static final String ENUM_NO_CLASS_ID

  The message identifier of the `FacesMessage` to be created if the conversion to `Enum` fails and no target class has been provided. The message format string for this message may optionally include the following placeholders:

  - `{0}` replaced by the unconverted value.
  - `{1}` replaced by a `String` whose value is the label of the input component that produced this message.

  See Also:
    Constant Field Values

Constructor Detail

### EnumConverter

    public EnumConverter()

### EnumConverter

    public EnumConverter(Class targetClass)

Method Detail

### getAsObject

    public Object getAsObject(FacesContext context,
                              UIComponent component,
                              String value)

  Convert the `value` argument to one of the enum constants of the class provided in our constructor. If no target class argument has been provided to the constructor of this instance, throw a `ConverterException` containing the `ENUM_NO_CLASS_ID` message with proper parameters. If the `value` argument is `null` or it has a length of zero, return `null`. Otherwise, perform the equivalent of `Enum.valueOf` using target class and `value` and return the `Object`. If the conversion fails, throw a `ConverterException` containing the `ENUM_ID` message with proper parameters.

  Specified by:
    `getAsObject` in interface `Converter`
  Parameters:
    `context` - the `FacesContext` for this request.
    `component` - the `UIComponent` to which this value will be applied.
    `value` - the String `value` to be converted to `Object`.
  Returns:
    `null` if the value to convert is `null`, otherwise the result of the conversion
  Throws:
    `ConverterException` - if conversion cannot be successfully performed
    `NullPointerException` - if `context` or `component` is `null`

### getAsString

    public String getAsString(FacesContext context,
                              UIComponent component,
                              Object value)

  Convert the enum constant given by the `value` argument into a String. If no target class argument has been provided to the constructor of this instance, throw a `ConverterException` containing the `ENUM_NO_CLASS_ID` message with proper parameters. If the `value` argument is `null`, return `null`. If the value is an instance of the provided target class, return its string value by casting it to a `java.lang.Enum` and returning the result of calling the `name()` method. Otherwise, throw a `ConverterException` containing the `ENUM_ID` message with proper parameters.

  Specified by:
    `getAsString` in interface `Converter`
  Parameters:
    `context` - `FacesContext` for the request being processed
    `component` - `UIComponent` with which this model object value is associated
    `value` - Model object value to be converted (may be `null`)
  Returns:
    a zero-length String if value is `null`, otherwise the result of the conversion
  Throws:
    `ConverterException` - if conversion cannot be successfully performed
    `NullPointerException` - if `context` or `component` is `null`

### restoreState

    public void restoreState(FacesContext facesContext,
                             Object object)

  Description copied from interface: `StateHolder`

  Perform any processing required to restore the state from the entries in the state Object.

  If the class that implements this interface has references to instances that also implement StateHolder (such as a `UIComponent` with event handlers, validators, etc.) this method must call the `StateHolder.restoreState(javax.faces.context.FacesContext, java.lang.Object)` method on all those instances as well.

  Specified by:
    `restoreState` in interface `StateHolder`

### saveState

    public Object saveState(FacesContext facesContext)

  Description copied from interface: `StateHolder`

  Gets the state of the instance as a `Serializable` Object.

  If the class that implements this interface has references to instances that implement StateHolder (such as a `UIComponent` with event handlers, validators, etc.) this method must call the `StateHolder.saveState(javax.faces.context.FacesContext)` method on all those instances as well. This method must not save the state of children and facets. That is done via the `StateManager`

  This method must not alter the state of the implementing object. In other words, after executing this code:

  `

       Object state = component.saveState(facesContext);

  `

  `component` should be the same as before executing it.

  The return from this method must be `Serializable`

  Specified by:
    `saveState` in interface `StateHolder`

### setTransient

    public void setTransient(boolean b)

  Description copied from interface: `StateHolder`

  Denotes whether or not the Object implementing this interface must or must not participate in state saving or restoring.

  Specified by:
    `setTransient` in interface `StateHolder`
  Parameters:
    `b` - boolean pass `true` if this Object will not participate in state saving or restoring, otherwise pass `false`.

### isTransient

    public boolean isTransient()

  Description copied from interface: `StateHolder`

  If true, the Object implementing this interface must not participate in state saving or restoring.

  Specified by:
    `isTransient` in interface `StateHolder`

### markInitialState

    public void markInitialState()

  Description copied from interface: `PartialStateHolder`

  The runtime must ensure that the `PartialStateHolder.markInitialState()` method is called on each instance of this interface in the view at the appropriate time to indicate the component is in its initial state. The implementor of the interface must ensure that `PartialStateHolder.initialStateMarked()` returns `true` from the time `markInitialState()` is called until `PartialStateHolder.clearInitialState()` is called, after which time `initialStateMarked()` must return `false`. Also, during the time that the instance returns `true` from `initialStateMarked()`, the implementation must return only the state that has changed in its implementation of `StateHolder.saveState(javax.faces.context.FacesContext)`.

  Specified by:
    `markInitialState` in interface `PartialStateHolder`

### initialStateMarked

    public boolean initialStateMarked()

  Description copied from interface: `PartialStateHolder`

  Return `true` if delta state changes are being tracked, otherwise `false`

  Specified by:
    `initialStateMarked` in interface `PartialStateHolder`

### clearInitialState

    public void clearInitialState()

  Description copied from interface: `PartialStateHolder`

  Reset the PartialStateHolder to a non-delta tracking state.

  Specified by:
    `clearInitialState` in interface `PartialStateHolder`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2009 Sun Microsystems, Inc. All Rights Reserved.