Class UINamingContainer

All Implemented Interfaces:
NamingContainer, PartialStateHolder, StateHolder, TransientStateHolder, UniqueIdVendor, ComponentSystemEventListener, FacesListener, SystemEventListenerHolder, EventListener
Direct Known Subclasses:
CompositeComponentImpl, UIRepeat

public class UINamingContainer extends UIComponentBase implements NamingContainer, UniqueIdVendor, StateHolder

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

  • Field Details

    • COMPONENT_TYPE

      public static final String COMPONENT_TYPE

      The standard component type for this component.

      See Also:
    • COMPONENT_FAMILY

      public static final String COMPONENT_FAMILY

      The standard component family for this component.

      See Also:
    • 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:
  • Constructor Details

    • UINamingContainer

      public UINamingContainer()

      Create a new UINamingContainer instance with default property values.

  • Method Details

    • 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. Note this method should NOT return null

      Specified by:
      getFamily in class UIComponent
      Returns:
      the component family (not null).
    • 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
      Returns:
      the separator char.
      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(jakarta.faces.component.UIComponent, jakarta.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:
      true if tree should be visited, false otherwise.
      See Also:
    • 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