public interface ClientBehavior extends Behavior
ClientBehavior is the base contract for Behavior
s that attach script content to client-side
events exposed by ClientBehaviorHolder
components. Instances of ClientBehavior
may be attached
to components that implement the ClientBehaviorHolder
contract by calling
ClientBehaviorHolder.addClientBehavior(java.lang.String, jakarta.faces.component.behavior.ClientBehavior)
. Once a ClientBehavior
has been attached to a
ClientBehaviorHolder
component, the component calls getScript(jakarta.faces.component.behavior.ClientBehaviorContext)
to obtain the behavior's script and
the component wires this up to the appropriate client-side event handler. Note that the script content returned by
this method is always in-line script content. If the implementing class wants to invoke functions defined in other
script resources, the implementing class must use the ResourceDependency
or
ResourceDependencies
annotation.
Modifier and Type | Method and Description |
---|---|
void |
decode(FacesContext context,
UIComponent component)
Decode any new state of this |
java.util.Set<ClientBehaviorHint> |
getHints()
Returns hints that describe the behavior of the ClientBehavior implementation. |
java.lang.String |
getScript(ClientBehaviorContext behaviorContext)
Return the script that implements this ClientBehavior's client-side logic. |
java.lang.String getScript(ClientBehaviorContext behaviorContext)
Return the script that implements this ClientBehavior's client-side logic.
ClientBehavior.getScript() implementations are allowed to return null to indicate that no script is required for this particular getScript() call. For example, a ClientBehavior implementation may return null if the Behavior is disabled.
behaviorContext
- the ClientBehaviorContext
that provides properties that might influence this
getScript() call. Note that ClientBehaviorContext instances are short-lived objects that are only valid for the
duration of the call to getScript(). ClientBehavior implementations must not hold onto references to
ClientBehaviorContexts.java.lang.NullPointerException
- if behaviorContext
is null
void decode(FacesContext context, UIComponent component)
Decode any new state of this ClientBehavior
from the request contained in the specified FacesContext
.
During decoding, events may be enqueued for later processing (by event listeners who have registered an interest), by
calling queueEvent()
. Default implementation delegates decoding to
ClientBehaviorRenderer.decode(FacesContext, UIComponent, ClientBehavior)
context
- FacesContext
for the request we are processingcomponent
- UIComponent
the component associated with this Behavior
java.lang.NullPointerException
- if context
or component
is null
.java.util.Set<ClientBehaviorHint> getHints()
Returns hints that describe the behavior of the ClientBehavior implementation. The hints may impact how Renderers
behave in the presence of Behaviors. For example, when a Behavior that specifies
ClientBehaviorHint.SUBMITTING
is present, the Renderer may choose to alternate the scripts that it
generates itself.