Class UICommand

All Implemented Interfaces:
ActionSource, PartialStateHolder, StateHolder, TransientStateHolder, ComponentSystemEventListener, FacesListener, SystemEventListenerHolder, EventListener
Direct Known Subclasses:
HtmlCommandButton, HtmlCommandLink, HtmlCommandScript

@JSFComponent(defaultRendererType="jakarta.faces.Button") public class UICommand extends UIComponentBase implements ActionSource
UICommand is a base abstraction for components that implement ActionSource.
  • Field Details

  • Constructor Details

    • UICommand

      public UICommand()
      Construct an instance of the UICommand.
  • Method Details

    • broadcast

      public void broadcast(FacesEvent event) throws AbortProcessingException
      Description copied from class: UIComponentBase
      Invoke any listeners attached to this object which are listening for an event whose type matches the specified event's runtime type.

      This method does not propagate the event up to parent components, ie listeners attached to parent components don't automatically get called.

      If any of the listeners throws AbortProcessingException then that exception will prevent any further listener callbacks from occurring, and the exception propagates out of this method without alteration.

      ActionEvent events are typically queued by the renderer associated with this component in its decode method; ValueChangeEvent events by the component's validate method. In either case the event's source property references a component. At some later time the UIViewRoot component iterates over its queued events and invokes the broadcast method on each event's source object.

      Overrides:
      broadcast in class UIComponentBase
      Parameters:
      event - must not be null.
      Throws:
      AbortProcessingException
    • queueEvent

      public void queueEvent(FacesEvent event)
      Overrides:
      queueEvent in class UIComponentBase
    • isImmediate

      @JSFProperty public boolean isImmediate()
      A boolean value that identifies the phase during which action events should fire.

      During normal event processing, action methods and action listener methods are fired during the "invoke application" phase of request processing. If this attribute is set to "true", these methods are fired instead at the end of the "apply request values" phase.

      Specified by:
      isImmediate in interface ActionSource
    • setImmediate

      public void setImmediate(boolean immediate)
      Specified by:
      setImmediate in interface ActionSource
    • getValue

      @JSFProperty public Object getValue()
      The text to display to the user for this command component.
    • setValue

      public void setValue(Object value)
    • getActionExpression

      @JSFProperty(stateHolder=true, returnSignature="java.lang.Object", clientEvent="action") public jakarta.el.MethodExpression getActionExpression()
      The action to take when this command is invoked.

      If the value is an expression, it is expected to be a method binding EL expression that identifies an action method. An action method accepts no parameters and has a String return value, called the action outcome, that identifies the next view displayed. The phase that this event is fired in can be controlled via the immediate attribute.

      If the value is a string literal, it is treated as a navigation outcome for the current view. This is functionally equivalent to a reference to an action method that returns the string literal.

      Specified by:
      getActionExpression in interface ActionSource
    • setActionExpression

      public void setActionExpression(jakarta.el.MethodExpression actionExpression)
      Specified by:
      setActionExpression in interface ActionSource
    • addActionListener

      public void addActionListener(ActionListener listener)
      Specified by:
      addActionListener in interface ActionSource
    • removeActionListener

      public void removeActionListener(ActionListener listener)
      Specified by:
      removeActionListener in interface ActionSource
    • getActionListeners

      @JSFListener(event="jakarta.faces.event.ActionEvent", phases="Invoke Application, Apply Request Values") public ActionListener[] getActionListeners()
      Event delivered when the "action" of the component has been invoked; for example, by clicking on a button. The action may result in page navigation.
      Specified by:
      getActionListeners in interface ActionSource
    • getFamily

      public String getFamily()
      Specified by:
      getFamily in class UIComponent