Class EnumConverter

    • Field Detail

      • 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()
        For StateHolder
      • EnumConverter

        public EnumConverter​(Class targetClass)
        Instantiates an enum converter with a class where enum constants are taken from.
        Parameters:
        targetClass - Class where the enum constants are taken from by the converter methods.
    • 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 the empty String. 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(jakarta.faces.context.FacesContext, java.lang.Object) method on all those instances as well.

        If the state argument is null, take no action and return.

        Specified by:
        restoreState in interface StateHolder
        Parameters:
        facesContext - the Faces context.
        object - the state.
      • 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(jakarta.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
        Parameters:
        facesContext - the Faces context.
        Returns:
        the saved state.
      • 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
        Returns:
        true if transient, false otherwise.
      • 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
        Returns:
        true if the initial state is marked, false otherwise.