Class UICommand
- java.lang.Object
-
- jakarta.faces.component.UIComponent
-
- jakarta.faces.component.UIComponentBase
-
- jakarta.faces.component.UICommand
-
- All Implemented Interfaces:
ActionSource
,ActionSource2
,PartialStateHolder
,StateHolder
,TransientStateHolder
,ComponentSystemEventListener
,FacesListener
,SystemEventListenerHolder
,EventListener
- Direct Known Subclasses:
HtmlCommandButton
,HtmlCommandLink
,HtmlCommandScript
@JSFComponent(defaultRendererType="jakarta.faces.Button") public class UICommand extends UIComponentBase implements ActionSource2
UICommand is a base abstraction for components that implement ActionSource.
-
-
Field Summary
Fields Modifier and Type Field Description static String
COMPONENT_FAMILY
static String
COMPONENT_TYPE
-
Fields inherited from class jakarta.faces.component.UIComponent
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, FACETS_KEY, VIEW_LOCATION_KEY
-
-
Constructor Summary
Constructors Constructor Description UICommand()
Construct an instance of the UICommand.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addActionListener(ActionListener listener)
void
broadcast(FacesEvent event)
Invoke any listeners attached to this object which are listening for an event whose type matches the specified event's runtime type.jakarta.el.MethodExpression
getActionExpression()
The action to take when this command is invoked.ActionListener[]
getActionListeners()
Event delivered when the "action" of the component has been invoked; for example, by clicking on a button.String
getFamily()
Object
getValue()
The text to display to the user for this command component.boolean
isImmediate()
A boolean value that identifies the phase during which action events should fire.void
queueEvent(FacesEvent event)
void
removeActionListener(ActionListener listener)
void
setActionExpression(jakarta.el.MethodExpression actionExpression)
void
setImmediate(boolean immediate)
void
setValue(Object value)
-
Methods inherited from class jakarta.faces.component.UIComponentBase
addClientBehavior, addFacesListener, clearInitialState, decode, encodeAll, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getParent, getPassThroughAttributes, getRenderer, getRendererType, getRendersChildren, invokeOnComponent, isRendered, isTransient, markInitialState, processDecodes, processRestoreState, processSaveState, processUpdates, processValidators, removeFacesListener, restoreAttachedState, restoreState, saveAttachedState, saveState, setId, setParent, setRendered, setRendererType, setTransient, visitTree
-
Methods inherited from class jakarta.faces.component.UIComponent
getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getListenersForEventClass, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression, subscribeToEvent, unsubscribeFromEvent
-
-
-
-
Field Detail
-
COMPONENT_TYPE
public static final String COMPONENT_TYPE
- See Also:
- Constant Field Values
-
COMPONENT_FAMILY
public static final String COMPONENT_FAMILY
- See Also:
- Constant Field Values
-
-
Method Detail
-
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 classUIComponentBase
- Parameters:
event
- must not be null.- Throws:
AbortProcessingException
-
queueEvent
public void queueEvent(FacesEvent event)
- Overrides:
queueEvent
in classUIComponentBase
-
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 interfaceActionSource
-
setImmediate
public void setImmediate(boolean immediate)
- Specified by:
setImmediate
in interfaceActionSource
-
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 interfaceActionSource2
-
setActionExpression
public void setActionExpression(jakarta.el.MethodExpression actionExpression)
- Specified by:
setActionExpression
in interfaceActionSource2
-
addActionListener
public void addActionListener(ActionListener listener)
- Specified by:
addActionListener
in interfaceActionSource
-
removeActionListener
public void removeActionListener(ActionListener listener)
- Specified by:
removeActionListener
in interfaceActionSource
-
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 interfaceActionSource
-
getFamily
public String getFamily()
- Specified by:
getFamily
in classUIComponent
-
-