javax.faces.component

## Interface ActionSource2

- All Superinterfaces:
    ActionSource
  All Known Implementing Classes:
    HtmlCommandButton, HtmlCommandLink, UICommand, UIViewAction

      public interface ActionSource2
      extends ActionSource

  ActionSource2 extends `ActionSource` and provides a JavaBeans property analogous to the "`action`" property on `ActionSource`. The difference is the type of this property is a `MethodExpression` rather than a `MethodBinding`. This allows the `ActionSource` concept to leverage the new Unified EL API.

  Since:
    1.2

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `MethodExpression` | `getActionExpression()` Return the `MethodExpression` pointing at the application action to be invoked, if this `UIComponent` is activated by the user, during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending on the value of the `immediate` property.
    `void` | `setActionExpression(MethodExpression action)` Set the `MethodExpression` pointing at the appication action to be invoked, if this `UIComponent` is activated by the user, during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending on the value of the `immediate` property.

    - ### Methods inherited from interface javax.faces.component.ActionSource

      `addActionListener, getAction, getActionListener, getActionListeners, isImmediate, removeActionListener, setAction, setActionListener, setImmediate`

- - ### Method Detail

    - #### getActionExpression

          MethodExpression getActionExpression()

      Return the `MethodExpression` pointing at the application action to be invoked, if this `UIComponent` is activated by the user, during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending on the value of the `immediate` property.

      Note that it's possible that the returned `MethodExpression` is just a wrapper around a `MethodBinding` instance whith was set by a call to `ActionSource.setAction(javax.faces.el.MethodBinding)`. This makes it possible for the default `ActionListener` to continue to work properly with older components.

    - #### setActionExpression

          void setActionExpression(MethodExpression action)

      Set the `MethodExpression` pointing at the appication action to be invoked, if this `UIComponent` is activated by the user, during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending on the value of the `immediate` property.

      Any method referenced by such an expression must be public, with a return type of `String`, and accept no parameters.

      Parameters:
        `action` - The new method expression

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