Interface ActionSource

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

public interface ActionSource

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

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Add a new ActionListener to the set of listeners interested in being notified when ActionEvents occur.
    default jakarta.el.MethodExpression
    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.
    Return the set of registered ActionListeners for this ActionSource instance.
    boolean
    Return a flag indicating that the default ActionListener provided by the Jakarta 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
    Remove an existing ActionListener (if any) from the set of listeners interested in being notified when ActionEvents occur.
    default void
    setActionExpression(jakarta.el.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.
    void
    setImmediate(boolean immediate)
    Set the "immediate execution" flag for this UIComponent.
  • Method Details

    • isImmediate

      boolean isImmediate()

      Return a flag indicating that the default ActionListener provided by the Jakarta 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.

      Returns:
      true if immediate, false otherwise.
    • 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 ActionEvents occur.

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

      ActionListener[] getActionListeners()

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

      Returns:
      the action listeners, or a zero-length array.
    • removeActionListener

      void removeActionListener(ActionListener listener)

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

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

      default jakarta.el.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.

      The default implementation throws UnsupportedOperationException and is provided for the sole purpose of not breaking existing applications that extend ActionSource. Historically this method was declared in ActionSource2 for precisely this reason but default methods in interfaces weren't supported.

      Returns:
      the action expression.
      Since:
      4.1
    • setActionExpression

      default void setActionExpression(jakarta.el.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.

      The default implementation throws UnsupportedOperationException and is provided for the sole purpose of not breaking existing applications that extend ActionSource. Historically this method was declared in ActionSource2 for precisely this reason but default methods in interfaces weren't supported.

      Parameters:
      action - The new method expression
      Since:
      4.1