Class MethodExpressionValueChangeListener

java.lang.Object
jakarta.faces.event.MethodExpressionValueChangeListener
All Implemented Interfaces:
StateHolder, FacesListener, ValueChangeListener, EventListener

public class MethodExpressionValueChangeListener extends Object implements ValueChangeListener, StateHolder

MethodExpressionValueChangeListener is a ValueChangeListener that wraps a MethodExpression. When it receives a ValueChangeEvent, it executes a method on an object identified by the MethodExpression.

  • Constructor Details

    • MethodExpressionValueChangeListener

      public MethodExpressionValueChangeListener()
    • MethodExpressionValueChangeListener

      public MethodExpressionValueChangeListener(MethodExpression methodExpressionOneArg)

      Construct a ValueChangeListener that contains a MethodExpression.To accommodate method expression targets that take no arguments instead of taking a ValueChangeEvent argument, the implementation of this class must take the argument methodExpressionOneArg, extract its expression string, and create another MethodExpression whose expected param types match those of a zero argument method. The usage requirements for both of these MethodExpression instances are described in processValueChange(jakarta.faces.event.ValueChangeEvent).

      Parameters:
      methodExpressionOneArg - a MethodExpression that points to a method that returns void and takes a single argument of type ValueChangeEvent.
    • MethodExpressionValueChangeListener

      public MethodExpressionValueChangeListener(MethodExpression methodExpressionOneArg, MethodExpression methodExpressionZeroArg)

      Construct a ValueChangeListener that contains a MethodExpression.

      Parameters:
      methodExpressionOneArg - a method expression that takes one argument
      methodExpressionZeroArg - a method expression that takes zero arguments
  • Method Details

    • processValueChange

      public void processValueChange(ValueChangeEvent valueChangeEvent) throws AbortProcessingException

      Call through to the MethodExpression passed in our constructor. First, try to invoke the MethodExpression passed to the constructor of this instance, passing the argument ValueChangeEvent as the argument. If a MethodNotFoundException is thrown, call to the zero argument MethodExpression derived from the MethodExpression passed to the constructor of this instance. If that fails for any reason, throw an AbortProcessingException, including the cause of the failure.

      Specified by:
      processValueChange in interface ValueChangeListener
      Parameters:
      valueChangeEvent - The ValueChangeEvent that has occurred
      Throws:
      NullPointerException - if the argument valueChangeEvent is null.
      AbortProcessingException - Signal the Jakarta Server Faces implementation that no further processing on the current event should be performed
    • saveState

      public Object saveState(FacesContext context)

      Both MethodExpression instances described in the constructor must be saved.

      Specified by:
      saveState in interface StateHolder
      Parameters:
      context - the Faces context.
      Returns:
      the saved state.
    • restoreState

      public void restoreState(FacesContext context, Object state)

      Both MethodExpression instances described in the constructor must be restored.

      Specified by:
      restoreState in interface StateHolder
      Parameters:
      context - the Faces context.
      state - the state.
    • 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.
    • setTransient

      public void setTransient(boolean newTransientValue)
      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:
      newTransientValue - boolean pass true if this Object will not participate in state saving or restoring, otherwise pass false.