javax.faces.component

## Class UINamingContainer

- java.lang.Object
- - javax.faces.component.UIComponent
  - - javax.faces.component.UIComponentBase
    - - javax.faces.component.UINamingContainer

- All Implemented Interfaces:
    EventListener, NamingContainer, PartialStateHolder, StateHolder, TransientStateHolder, 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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

      `ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY`

    - ### Fields inherited from interface javax.faces.component.NamingContainer

      `SEPARATOR_CHAR`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `UINamingContainer()` Create a new `UINamingContainer` instance with default property values.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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, getListenersForEventClass, getParent, getPassThroughAttributes, 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, subscribeToEvent, unsubscribeFromEvent`

    - ### Methods inherited from class javax.faces.component.UIComponent

      `encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression`

    - ### 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 © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.