|
DRAFT | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjavax.faces.component.UIComponent
javax.faces.component.UIComponentBase
javax.faces.component.UICommand
public class UICommand
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:
ActionListeners, in the order in which they were registered.
MethodExpression (which will cover
the "actionListener" that was set as a MethodBinding).
ActionListener, retrieved from the
Application - and therefore, any attached "action"
MethodExpression.
By default, the rendererType property must be set to
"javax.faces.Button". This value can be changed by calling the
setRendererType() method.
| Field Summary | |
|---|---|
static java.lang.String |
COMPONENT_FAMILY
The standard component family for this component. |
static java.lang.String |
COMPONENT_TYPE
The standard component type for this component. |
| Fields inherited from class javax.faces.component.UIComponent |
|---|
BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, VIEW_LOCATION_KEY |
| Constructor Summary | |
|---|---|
UICommand()
Create a new UICommand instance with default property
values. |
|
| Method Summary | |
|---|---|
void |
addActionListener(ActionListener listener)
Add a new ActionListener to the set of listeners interested
in being notified when ActionEvents occur. |
void |
broadcast(FacesEvent event)
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
Application. |
MethodBinding |
getAction()
Deprecated. This has been replaced by getActionExpression(). |
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. |
MethodBinding |
getActionListener()
Deprecated. Use getActionListeners() instead. |
ActionListener[] |
getActionListeners()
Return the set of registered ActionListeners for this
ActionSource instance. |
java.lang.String |
getFamily()
Return the identifier of the component family to which this component belongs. |
java.lang.Object |
getValue()
Returns the value property of the
UICommand. |
boolean |
isImmediate()
The immediate flag. |
void |
queueEvent(FacesEvent e)
Intercept queueEvent and take the following
action. |
void |
removeActionListener(ActionListener listener)
Remove an existing ActionListener (if any) from the set of
listeners interested in being notified when ActionEvents
occur. |
void |
setAction(MethodBinding action)
Deprecated. This has been replaced by setActionExpression(javax.el.MethodExpression). |
void |
setActionExpression(MethodExpression actionExpression)
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 |
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. |
void |
setValue(java.lang.Object value)
Sets the value property of the UICommand. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String COMPONENT_TYPE
The standard component type for this component.
public static final java.lang.String COMPONENT_FAMILY
The standard component family for this component.
| Constructor Detail |
|---|
public UICommand()
Create a new UICommand instance with default property
values.
| Method Detail |
|---|
public java.lang.String getFamily()
UIComponentReturn 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.
getFamily in class UIComponentpublic MethodBinding getAction()
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 ActionSource.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 MethodBindingpointing 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.
getAction in interface ActionSourcepublic void setAction(MethodBinding action)
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, 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.
setAction in interface ActionSourceaction - The new MethodBinding expressionpublic MethodBinding getActionListener()
getActionListeners() instead.
If ActionSource.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 ActionSource.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.
getActionListener in interface ActionSourcepublic void setActionListener(MethodBinding actionListener)
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 ActionSource.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.
setActionListener in interface ActionSourceactionListener - The new method binding expressionpublic boolean isImmediate()
The immediate flag.
isImmediate in interface ActionSourcepublic void setImmediate(boolean immediate)
ActionSourceSet the "immediate execution" flag for this UIComponent.
setImmediate in interface ActionSourceimmediate - The new immediate execution flagpublic java.lang.Object getValue()
Returns the value property of the
UICommand. This is most often rendered as a label.
public void setValue(java.lang.Object value)
Sets the value property of the UICommand.
This is most often rendered as a label.
value - the new valuepublic MethodExpression getActionExpression()
ActionSource2Return 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.
Note that it's possible that the returned
MethodExpression is just a wrapper around a
MethodBinding instance whith was set by a call to
ActionSource#setAction. This makes it possible for the
default ActionListener to continue to work properly with
older components.
getActionExpression in interface ActionSource2public void setActionExpression(MethodExpression actionExpression)
ActionSource2Set 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.
setActionExpression in interface ActionSource2actionExpression - The new method expressionpublic void addActionListener(ActionListener listener)
ActionSourceAdd a new ActionListener to the set of listeners interested
in being notified when ActionEvents occur.
addActionListener in interface ActionSourcelistener - The ActionListener to be added
java.lang.NullPointerException - if listener
is nullpublic ActionListener[] getActionListeners()
ActionSourceReturn the set of registered ActionListeners for this
ActionSource instance. If there are no registered listeners,
a zero-length array is returned.
getActionListeners in interface ActionSourcepublic void removeActionListener(ActionListener listener)
ActionSourceRemove an existing ActionListener (if any) from the set of
listeners interested in being notified when ActionEvents
occur.
removeActionListener in interface ActionSourcelistener - The ActionListener to be removed
java.lang.NullPointerException - if listener
is null
public void broadcast(FacesEvent event)
throws AbortProcessingException
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
Application.
broadcast in class UIComponentBaseevent - FacesEvent to be broadcast
AbortProcessingException - Signal the JavaServer Faces
implementation that no further processing on the current event
should be performed
java.lang.IllegalArgumentException - if the implementation class
of this FacesEvent is not supported by this component
java.lang.NullPointerException - if event is
nullpublic void queueEvent(FacesEvent e)
Intercept queueEvent and take the following
action. If the event is an ,
obtain the ActionEventUIComponent instance from the event. If
the component is an obtain the
value of its "immediate" property. If it is true, mark the
phaseId for the event to be
ActionSourcePhaseId.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.
queueEvent in class UIComponentBasee - FacesEvent to be queued
|
DRAFT | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Copyright © 2009 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.
Generated on 24-November-2009 03:24