javax.faces.component.behavior
Interface ClientBehavior

All Superinterfaces:
Behavior
All Known Implementing Classes:
AjaxBehavior, ClientBehaviorBase

public interface ClientBehavior
extends Behavior

ClientBehavior is the base contract for Behaviors 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, javax.faces.component.behavior.ClientBehavior). Once a ClientBehavior has been attached to a ClientBehaviorHolder component, the component calls getScript(javax.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.

Since:
2.0

Method Summary
 void decode(FacesContext context, UIComponent component)
          

Decode any new state of this ClientBehavior from the request contained in the specified FacesContext.

 Set<ClientBehaviorHint> getHints()
          

Returns hints that describe the behavior of the ClientBehavior implementation.

 String getScript(ClientBehaviorContext behaviorContext)
          

Return the script that implements this ClientBehavior's client-side logic.

 
Methods inherited from interface javax.faces.component.behavior.Behavior
broadcast
 

Method Detail

getScript

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.

Parameters:
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.
Returns:
script that provides the client-side behavior, or null if no script is required.
Throws:
NullPointerException - if behaviorContext is null
Since:
2.0

decode

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)

Parameters:
context - FacesContext for the request we are processing
component - UIComponent the component associated with this Behavior
Throws:
NullPointerException - if context or component is null.
Since:
2.0

getHints

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.

Returns:
a non-null, unmodifiable collection of ClientBehaviorHints.
Since:
2.0


Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved.