Top Description Inners Fields Constructors Methods
jakarta.faces.component

public Class UICommand

extends UIComponentBase
implements ActionSource
Class Inheritance
All Implemented Interfaces
jakarta.faces.component.ActionSource
Known Direct Subclasses
jakarta.faces.component.html.HtmlCommandButton, jakarta.faces.component.html.HtmlCommandLink, jakarta.faces.component.html.HtmlCommandScript
Static Imports
jakarta.faces.event.PhaseId.APPLY_REQUEST_VALUES, .PhaseId.INVOKE_APPLICATION

UICommand is a UIComponent that represents a user interface component which, when activated by the user, triggers an application specific "command" or "action". Such a component is typically rendered as a push button, a menu item, or a hyperlink.

When the decode() method of this UICommand, or its corresponding Renderer, detects that this control has been activated, it will queue an ActionEvent. Later on, the broadcast() method will ensure that this event is broadcast to all interested listeners.

Listeners will be invoked in the following order:

  1. ActionListeners, in the order in which they were registered.
  2. The "actionListener" MethodExpression (which will cover the "actionListener" that was set as a MethodBinding).
  3. The default ActionListener, retrieved from the Application - and therefore, any attached "action" MethodExpression.

By default, the rendererType property must be set to "jakarta.faces.Button". This value can be changed by calling the setRendererType() method.

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static enum
UICommand.PropertyKeys

Properties that are tracked by state saving.

Field Summary

Modifier and TypeField and Description
public static final String
COMPONENT_FAMILY

The standard component family for this component.

public static final String
COMPONENT_TYPE

The standard component type for this component.

Constructor Summary

AccessConstructor and Description
public
UICommand()

Create a new UICommand instance with default property values.

Method Summary

Modifier and TypeMethod and Description
public void
addActionListener(ActionListener
The ActionListener to be added
listener
)

Implements jakarta.faces.component.ActionSource.addActionListener.

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

public void
broadcast(FacesEvent
FacesEvent to be broadcast
event
)

Overrides jakarta.faces.component.UIComponentBase.broadcast.

In addition to to the default UIComponent#broadcast processing, pass the ActionEvent being broadcast to the method referenced by actionListener (if any), and to the default ActionListener registered on the jakarta.faces.application.Application.

public MethodExpression
getActionExpression()

Overrides default jakarta.faces.component.ActionSource.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.

public ActionListener[]
getActionListeners()

Implements jakarta.faces.component.ActionSource.getActionListeners.

Return the set of registered ActionListeners for this ActionSource instance.

public String
getFamily()

Implements abstract jakarta.faces.component.UIComponent.getFamily.

Return the identifier of the component family to which this component belongs.

public Object

Returns:

The object representing the value of this component.
getValue
()

Returns the value property of the UICommand.

public boolean
public void
queueEvent(FacesEvent
FacesEvent to be queued
event
)

Overrides jakarta.faces.component.UIComponentBase.queueEvent.

Intercept queueEvent and take the following action.

public void
removeActionListener(ActionListener
The ActionListener to be removed
listener
)

Implements jakarta.faces.component.ActionSource.removeActionListener.

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

public void
setActionExpression(MethodExpression
The new method expression
actionExpression
)

Overrides default jakarta.faces.component.ActionSource.setActionExpression.

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.

public void
setImmediate(boolean
The new immediate execution flag
immediate
)

Implements jakarta.faces.component.ActionSource.setImmediate.

Set the "immediate execution" flag for this UIComponent.

public void
setValue(Object
the new value
value
)

Sets the value property of the UICommand.

Inherited from jakarta.faces.component.UIComponentBase:
addClientBehavioraddFacesListenerclearInitialStatedecodeencodeBeginencodeChildrenencodeEndfindComponentgetAttributesgetChildCountgetChildrengetClientBehaviorsgetClientIdgetDefaultEventNamegetDescriptorMapgetEventNamesgetFacesContextgetFacesListenersgetFacetgetFacetCountgetFacetsgetFacetsAndChildrengetIdgetListenersForEventClassgetParentgetPassThroughAttributesgetRenderergetRendererTypegetRendersChildreninvokeOnComponentisRenderedisTransientmarkInitialStateprocessDecodesprocessRestoreStateprocessSaveStateprocessUpdatesprocessValidatorsremoveFacesListenerrestoreAttachedStaterestoreStatesaveAttachedStatesaveStatesetIdsetParentsetRenderedsetRendererTypesetTransientsubscribeToEventunsubscribeFromEvent

Field Detail

COMPONENT_FAMILYback to summary
public static final String COMPONENT_FAMILY

The standard component family for this component.

COMPONENT_TYPEback to summary
public static final String COMPONENT_TYPE

The standard component type for this component.

Constructor Detail

UICommandback to summary
public UICommand()

Create a new UICommand instance with default property values.

Method Detail

addActionListenerback to summary
public void addActionListener(ActionListener listener)

Implements jakarta.faces.component.ActionSource.addActionListener.

Doc from jakarta.faces.component.ActionSource.addActionListener.

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

Parameters
listener:ActionListener

The ActionListener to be added

Annotations
@Override
Exceptions
NullPointerException:
if listener is null
broadcastback to summary
public void broadcast(FacesEvent event) throws AbortProcessingException

Overrides jakarta.faces.component.UIComponentBase.broadcast.

In addition to to the default UIComponent#broadcast processing, pass the ActionEvent being broadcast to the method referenced by actionListener (if any), and to the default ActionListener registered on the jakarta.faces.application.Application.

Parameters
event:FacesEvent

FacesEvent to be broadcast

Annotations
@Override
Exceptions
AbortProcessingException:
Signal the Jakarta Faces implementation that no further processing on the current event should be performed
IllegalArgumentException:
if the implementation class of this FacesEvent is not supported by this component
NullPointerException:
if event is null
getActionExpressionback to summary
public MethodExpression getActionExpression()

Overrides default jakarta.faces.component.ActionSource.getActionExpression.

Doc from jakarta.faces.component.ActionSource.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:MethodExpression

the action expression.

Annotations
@Override
getActionListenersback to summary
public ActionListener[] getActionListeners()

Implements jakarta.faces.component.ActionSource.getActionListeners.

Doc from jakarta.faces.component.ActionSource.getActionListeners.

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

Returns:ActionListener[]

the action listeners, or a zero-length array.

Annotations
@Override
getFamilyback to summary
public String getFamily()

Implements abstract jakarta.faces.component.UIComponent.getFamily.

Doc from jakarta.faces.component.UIComponent.getFamily.

Return the identifier of the component family to which this component belongs. This identifier, in conjunction with the value of the rendererType property, may be used to select the appropriate Renderer for this component instance. Note this method should NOT return null

Returns:String

the component family (not null).

Annotations
@Override
getValueback to summary
public Object getValue()

Returns the value property of the UICommand. This is most often rendered as a label.

Returns:Object

The object representing the value of this component.

isImmediateback to summary
public boolean isImmediate()

Implements jakarta.faces.component.ActionSource.isImmediate.

The immediate flag.

Returns:boolean

Doc from jakarta.faces.component.ActionSource.isImmediate.

true if immediate, false otherwise.

Annotations
@Override
queueEventback to summary
public void queueEvent(FacesEvent event)

Overrides jakarta.faces.component.UIComponentBase.queueEvent.

Intercept queueEvent and take the following action. If the event is an ActionEvent, obtain the UIComponent instance from the event. If the component is an ActionSource obtain the value of its "immediate" property. If it is true, mark the phaseId for the event to be PhaseId.APPLY_REQUEST_VALUES otherwise, mark the phaseId to be PhaseId.INVOKE_APPLICATION. The event must be passed on to super.queueEvent() before returning from this method.

Parameters
event:FacesEvent

Doc from jakarta.faces.component.UIComponent.queueEvent.

FacesEvent to be queued

Annotations
@Override
removeActionListenerback to summary
public void removeActionListener(ActionListener listener)

Implements jakarta.faces.component.ActionSource.removeActionListener.

Doc from jakarta.faces.component.ActionSource.removeActionListener.

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

Parameters
listener:ActionListener

The ActionListener to be removed

Annotations
@Override
Exceptions
NullPointerException:
if listener is null
setActionExpressionback to summary
public void setActionExpression(MethodExpression actionExpression)

Overrides default jakarta.faces.component.ActionSource.setActionExpression.

Doc from jakarta.faces.component.ActionSource.setActionExpression.

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
actionExpression:MethodExpression

The new method expression

Annotations
@Override
setImmediateback to summary
public void setImmediate(boolean immediate)

Implements jakarta.faces.component.ActionSource.setImmediate.

Doc from jakarta.faces.component.ActionSource.setImmediate.

Set the "immediate execution" flag for this UIComponent.

Parameters
immediate:boolean

The new immediate execution flag

Annotations
@Override
setValueback to summary
public void setValue(Object value)

Sets the value property of the UICommand. This is most often rendered as a label.

Parameters
value:Object

the new value

jakarta.faces.component back to summary

pack-priv final Enum UICommand.PropertyKeys

extends Enum<UICommand.PropertyKeys>
Class Inheritance

Properties that are tracked by state saving.

Field Summary

Modifier and TypeField and Description
public static final UICommand.PropertyKeys
public static final UICommand.PropertyKeys
public static final UICommand.PropertyKeys
public static final UICommand.PropertyKeys

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static UICommand.PropertyKeys
public static UICommand.PropertyKeys[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

actionExpressionback to summary
public static final UICommand.PropertyKeys actionExpression
immediateback to summary
public static final UICommand.PropertyKeys immediate
methodBindingActionListenerback to summary
public static final UICommand.PropertyKeys methodBindingActionListener
valueback to summary
public static final UICommand.PropertyKeys value

Constructor Detail

PropertyKeysback to summary
private PropertyKeys()

Method Detail

valueOfback to summary
public static UICommand.PropertyKeys valueOf(String name)
valuesback to summary
public static UICommand.PropertyKeys[] values()