Class MethodExpressionActionListener

java.lang.Object
jakarta.faces.event.MethodExpressionActionListener
All Implemented Interfaces:
StateHolder, ActionListener, FacesListener, EventListener

public class MethodExpressionActionListener extends Object implements ActionListener, StateHolder

MethodExpressionActionListener is an ActionListener that wraps a MethodExpression. When it receives a ActionEvent, it executes a method on an object identified by the MethodExpression.

  • Constructor Details

    • MethodExpressionActionListener

      public MethodExpressionActionListener()
    • MethodExpressionActionListener

      public MethodExpressionActionListener(MethodExpression methodExpressionOneArg)

      Construct a ValueChangeListener that contains a MethodExpression. To accomodate method expression targets that take no arguments instead of taking an ActionEvent 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 processAction(jakarta.faces.event.ActionEvent).

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

      public MethodExpressionActionListener(MethodExpression methodExpressionOneArg, MethodExpression methodExpressionZeroArg)
  • Method Details

    • processAction

      public void processAction(ActionEvent actionEvent) 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 ActionEvent 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:
      processAction in interface ActionListener
      Parameters:
      actionEvent - The ActionEvent that has occurred
    • 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.