javax.faces.component
Class UINamingContainer

java.lang.Object
  extended by javax.faces.component.UIComponent
      extended by javax.faces.component.UIComponentBase
          extended by javax.faces.component.UINamingContainer
All Implemented Interfaces:
EventListener, NamingContainer, PartialStateHolder, StateHolder, UniqueIdVendor, ComponentSystemEventListener, FacesListener, SystemEventListenerHolder

public class UINamingContainer
extends UIComponentBase
implements NamingContainer, UniqueIdVendor, StateHolder

UINamingContainer is a convenience base class for components that wish to implement NamingContainer functionality.


Field Summary
static String COMPONENT_FAMILY
          The standard component family for this component.
static String COMPONENT_TYPE
          The standard component type for this component.
static String SEPARATOR_CHAR_PARAM_NAME
          

The context-param that allows the separator char for clientId strings to be set on a per-web application basis.

 
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
 
Fields inherited from interface javax.faces.component.NamingContainer
SEPARATOR_CHAR
 
Constructor Summary
UINamingContainer()
          Create a new UINamingContainer instance with default property values.
 
Method Summary
 String createUniqueId(FacesContext context, String seed)
          Generate an identifier for a component.
 String getFamily()
          Return the identifier of the component family to which this component belongs.
static char getSeparatorChar(FacesContext context)
          

Return the character used to separate segments of a clientId.

 boolean visitTree(VisitContext context, VisitCallback callback)
          

Perform a tree visit starting at this node in the tree.

 
Methods inherited from class javax.faces.component.UIComponentBase
addClientBehavior, addFacesListener, broadcast, clearInitialState, decode, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getParent, getRenderer, getRendererType, getRendersChildren, getValueBinding, invokeOnComponent, isRendered, isTransient, markInitialState, processDecodes, processRestoreState, processSaveState, processUpdates, processValidators, queueEvent, removeFacesListener, restoreAttachedState, restoreState, saveAttachedState, saveState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding
 
Methods inherited from class javax.faces.component.UIComponent
encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getListenersForEventClass, getNamingContainer, getResourceBundleMap, getStateHelper, getStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, setInView, setValueExpression, subscribeToEvent, unsubscribeFromEvent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.faces.component.StateHolder
isTransient, restoreState, saveState, setTransient
 

Field Detail

COMPONENT_TYPE

public static final String COMPONENT_TYPE

The standard component type for this component.

See Also:
Constant Field Values

COMPONENT_FAMILY

public static final String COMPONENT_FAMILY

The standard component family for this component.

See Also:
Constant Field Values

SEPARATOR_CHAR_PARAM_NAME

public static final String SEPARATOR_CHAR_PARAM_NAME

The context-param that allows the separator char for clientId strings to be set on a per-web application basis.

Since:
2.0
See Also:
Constant Field Values
Constructor Detail

UINamingContainer

public UINamingContainer()

Create a new UINamingContainer instance with default property values.

Method Detail

getFamily

public String getFamily()
Description copied from class: UIComponent

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.

Specified by:
getFamily in class UIComponent

getSeparatorChar

public static char getSeparatorChar(FacesContext context)

Return the character used to separate segments of a clientId. The implementation must determine if there is a <context-param> with the value given by the value of the symbolic constant SEPARATOR_CHAR_PARAM_NAME. If there is a value for this param, the first character of the value must be returned from this method. Otherwise, the value of the symbolic constant NamingContainer.SEPARATOR_CHAR must be returned.

Parameters:
context - the FacesContext for the current request
Since:
2.0

visitTree

public boolean visitTree(VisitContext context,
                         VisitCallback callback)
Description copied from class: UIComponent

Perform a tree visit starting at this node in the tree.

UIComponent.visitTree() implementations do not invoke the VisitCallback directly, but instead call VisitContext.invokeVisitCallback(javax.faces.component.UIComponent, javax.faces.component.visit.VisitCallback) to invoke the callback. This allows VisitContext implementations to provide optimized tree traversals, for example by only calling the VisitCallback for a subset of components.

UIComponent.visitTree() implementations must call UIComponent.pushComponentToEL() before performing the visit and UIComponent.popComponentFromEL() after the visit.

Overrides:
visitTree in class UIComponent
Parameters:
context - the VisitContext for this visit
callback - the VisitCallback instance whose visit method will be called for each node visited.
Returns:
component implementations may return true to indicate that the tree visit is complete (eg. all components that need to be visited have been visited). This results in the tree visit being short-circuited such that no more components are visited.
See Also:
UIComponent.visitTree(javax.faces.component.visit.VisitContext, javax.faces.component.visit.VisitCallback)

createUniqueId

public String createUniqueId(FacesContext context,
                             String seed)
Description copied from interface: UniqueIdVendor

Generate an identifier for a component. The identifier will be prefixed with UNIQUE_ID_PREFIX, and will be unique within this component-container. Optionally, a unique seed value can be supplied by component creators which should be included in the generated unique id.

Specified by:
createUniqueId in interface UniqueIdVendor
Parameters:
context - FacesContext
seed - an optional seed value - e.g. based on the position of the component in the VDL-template
Returns:
a unique-id in this component-container


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