javax.faces.event

## Class MethodExpressionActionListener

- java.lang.Object
- - javax.faces.event.MethodExpressionActionListener

- All Implemented Interfaces:
    EventListener, StateHolder, ActionListener, FacesListener

      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`.

- - ### Field Summary

    - ### Fields inherited from interface javax.faces.event.ActionListener

      `TO_FLOW_DOCUMENT_ID_ATTR_NAME`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MethodExpressionActionListener()`
    `MethodExpressionActionListener(MethodExpression methodExpressionOneArg)` Construct a `ValueChangeListener` that contains a `MethodExpression`.
    `MethodExpressionActionListener(MethodExpression methodExpressionOneArg, MethodExpression methodExpressionZeroArg)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isTransient()` If true, the Object implementing this interface must not participate in state saving or restoring.
    `void` | `processAction(ActionEvent actionEvent)` Call through to the `MethodExpression` passed in our constructor.
    `void` | `restoreState(FacesContext context, Object state)` Both `MethodExpression` instances described in the constructor must be restored.
    `Object` | `saveState(FacesContext context)` Both `MethodExpression` instances described in the constructor must be saved.
    `void` | `setTransient(boolean newTransientValue)` 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`

- - ### Constructor Detail

    - #### 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(javax.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 Detail

    - #### 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
      Throws:
        `NullPointerException`
        `AbortProcessingException` - Signal the JavaServer 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`

    - #### restoreState

          public void restoreState(FacesContext context,
                          Object state)

      Both `MethodExpression` instances described in the constructor must be restored.

      Specified by:
        `restoreState` in interface `StateHolder`

    - #### 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`

    - #### 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`.

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