javax.faces.component

## Interface ActionSource

- All Known Subinterfaces:
    ActionSource2
  All Known Implementing Classes:
    HtmlCommandButton, HtmlCommandLink, UICommand, UIViewAction

      public interface ActionSource

  ActionSource is an interface that may be implemented by any concrete `UIComponent` that wishes to be a source of `ActionEvent`s, including the ability to invoke application actions via the default `ActionListener` mechanism.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addActionListener(ActionListener listener)` Add a new `ActionListener` to the set of listeners interested in being notified when `ActionEvent`s occur.
    `MethodBinding` | `getAction()` Deprecated. This has been replaced by `ActionSource2.getActionExpression()`.
    `MethodBinding` | `getActionListener()` Deprecated. Use `getActionListeners()` instead.
    `ActionListener[]` | `getActionListeners()` Return the set of registered `ActionListener`s for this `ActionSource` instance.
    `boolean` | `isImmediate()` Return a flag indicating that the default `ActionListener` provided by the JavaServer Faces implementation should be executed immediately (that is, during Apply Request Values phase of the request processing lifecycle), rather than waiting until the Invoke Application phase.
    `void` | `removeActionListener(ActionListener listener)` Remove an existing `ActionListener` (if any) from the set of listeners interested in being notified when `ActionEvent`s occur.
    `void` | `setAction(MethodBinding action)` Deprecated. This has been replaced by `ActionSource2.setActionExpression(javax.el.MethodExpression)`.
    `void` | `setActionListener(MethodBinding actionListener)` Deprecated. This has been replaced by `addActionListener(javax.faces.event.ActionListener)`.
    `void` | `setImmediate(boolean immediate)` Set the "immediate execution" flag for this `UIComponent`.

- - ### Method Detail

    - #### getAction

          MethodBinding getAction()

      Deprecated. This has been replaced by `ActionSource2.getActionExpression()`.

      If the implementing class also implements `ActionSource2`, the implementation of this method must call through to `ActionSource2.getActionExpression()` and examine the result. If the result came from a previous call to `setAction(javax.faces.el.MethodBinding)`, extract the `MethodBinding` from it and return it. Otherwise, wrap the returned `MethodExpression` in a `MethodBinding` implementation, and return it.

      If the implementing class does not implement `ActionSource2`, return the `MethodBinding`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.

    - #### setAction

          void setAction(MethodBinding action)

      Deprecated. This has been replaced by `ActionSource2.setActionExpression(javax.el.MethodExpression)`.

      If the implementing class also implements `ActionSource2`, the implementation of this method must wrap the argument `action` in a class that implements `MethodExpression` and call through to `ActionSource2.setActionExpression(javax.el.MethodExpression)`, passing the wrapped `action`.

      If the implementing class does not implement `ActionSource2`, set the `MethodBinding` 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 MethodBinding expression

    - #### getActionListener

          MethodBinding getActionListener()

      Deprecated. Use `getActionListeners()` instead.

      If `setActionListener(javax.faces.el.MethodBinding)` was not previously called for this instance, this method must return `null`. If it was called, this method must return the exact `MethodBinding` instance that was passed to `setActionListener(javax.faces.el.MethodBinding)`.

      The method to be invoked, if this `UIComponent` is activated by the user, will be called during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending upon the value of the `immediate` property.

    - #### setActionListener

          void setActionListener(MethodBinding actionListener)

      Deprecated. This has been replaced by `addActionListener(javax.faces.event.ActionListener)`.

      Wrap the argument `actionListener` in an implementation of `ActionListener` and store it in the internal data structure that backs the `getActionListeners()` method, taking care to over-write any instance that was stored by a previous call to `setActionListener`.

      Any method referenced by such an expression must be public, with a return type of `void`, and accept a single parameter of type `ActionEvent`.

      Parameters:
        `actionListener` - The new method binding expression

    - #### isImmediate

          boolean isImmediate()

      Return a flag indicating that the default `ActionListener` provided by the JavaServer Faces implementation should be executed immediately (that is, during Apply Request Values phase of the request processing lifecycle), rather than waiting until the Invoke Application phase. The default value for this property must be `false`.

    - #### setImmediate

          void setImmediate(boolean immediate)

      Set the "immediate execution" flag for this `UIComponent`.

      Parameters:
        `immediate` - The new immediate execution flag

    - #### addActionListener

          void addActionListener(ActionListener listener)

      Add a new `ActionListener` to the set of listeners interested in being notified when `ActionEvent`s occur.

      Parameters:
        `listener` - The `ActionListener` to be added
      Throws:
        `NullPointerException` - if `listener` is `null`

    - #### getActionListeners

          ActionListener[] getActionListeners()

      Return the set of registered `ActionListener`s for this `ActionSource` instance. If there are no registered listeners, a zero-length array is returned.

    - #### removeActionListener

          void removeActionListener(ActionListener listener)

      Remove an existing `ActionListener` (if any) from the set of listeners interested in being notified when `ActionEvent`s occur.

      Parameters:
        `listener` - The `ActionListener` to be removed
      Throws:
        `NullPointerException` - if `listener` is `null`

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