org.apache.myfaces.trinidad.component

## Class UIXNavigationTree

- java.lang.Object
- - javax.faces.component.UIComponent
  - - org.apache.myfaces.trinidad.component.UIXComponent
    - - org.apache.myfaces.trinidad.component.UIXComponentBase
      - - org.apache.myfaces.trinidad.component.UIXCollection
        - - org.apache.myfaces.trinidad.component.UIXHierarchy
          - - org.apache.myfaces.trinidad.component.UIXNavigationHierarchy
            - - org.apache.myfaces.trinidad.component.UIXNavigationTree

- All Implemented Interfaces:
    EventListener, javax.faces.component.NamingContainer, javax.faces.component.PartialStateHolder, javax.faces.component.StateHolder, javax.faces.component.TransientStateHolder, javax.faces.event.ComponentSystemEventListener, javax.faces.event.FacesListener, javax.faces.event.SystemEventListenerHolder, CollectionComponent, LocalRowKeyIndex, RowKeyIndex, TreeLocalRowKeyIndex
  Direct Known Subclasses:
    CoreNavigationTree

      public class UIXNavigationTree
      extends UIXNavigationHierarchy

  Apache Trinidad navigationTree components are used to display hierarchical navigation data.

  #### Events:

  Type | Phases | Description
  --- | --- | ---
  `org.apache.myfaces.trinidad.event.RowDisclosureEvent` | Apply Request Values Invoke Application | The expansion event is generated for a table when the detail facet of a row is expanded or collapsed. For tree or a treeTable, the expansion event is generated when tree nodes are expanded or collapsed.
  `org.apache.myfaces.trinidad.event.AttributeChangeEvent` | Invoke Application Apply Request Values | Event delivered to describe an attribute change. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change event might include the width of a column that supported client-side resizing.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.myfaces.trinidad.component.UIXCollection

      `UIXCollection.NoColumnFacetsVisitContext`

    - ### Nested classes/interfaces inherited from class org.apache.myfaces.trinidad.component.UIXComponentBase

      `UIXComponentBase.ComponentSystemEventListenerWrapper`

    - ### Nested classes/interfaces inherited from interface org.apache.myfaces.trinidad.model.LocalRowKeyIndex

      `LocalRowKeyIndex.Confidence, LocalRowKeyIndex.LocalCachingStrategy`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `COMPONENT_FAMILY`
    `static String` | `COMPONENT_TYPE`
    `static PropertyKey` | `DISCLOSED_ROW_KEYS_KEY`
    `static PropertyKey` | `IMMEDIATE_KEY`
    `static String` | `NODE_STAMP_FACET`
    `static PropertyKey` | `ROW_DISCLOSURE_LISTENER_KEY`
    `static PropertyKey` | `START_LEVEL_KEY`
    `static FacesBean.Type` | `TYPE`
    `static PropertyKey` | `VALUE_KEY`
    `static PropertyKey` | `VAR_STATUS_KEY`

    - ### Fields inherited from class org.apache.myfaces.trinidad.component.UIXCollection

      `VAR_KEY`

    - ### Fields inherited from class org.apache.myfaces.trinidad.component.UIXComponentBase

      `BINDING_KEY, ID_KEY, RENDERED_KEY, RENDERER_TYPE_KEY, TRANSIENT_KEY`

    - ### 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
    Modifier | Constructor and Description
    --- | ---
    `` | `UIXNavigationTree()` Construct an instance of the UIXNavigationTree.
    `protected` | `UIXNavigationTree(String rendererType)` Construct an instance of the UIXNavigationTree.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addRowDisclosureListener(RowDisclosureListener listener)` Adds a rowDisclosure listener.
    `void` | `broadcast(javax.faces.event.FacesEvent event)` Delivers an event.
    `CollectionModel` | `createCollectionModel(CollectionModel current, Object value)` Creates the CollectionModel to use with this component.
    `protected FacesBean` | `createFacesBean(String rendererType)`
    `protected FacesBean.Type` | `getBeanType()`
    `RowKeySet` | `getDisclosedRowKeys()` Gets the set of disclosed rows for this component.
    `String` | `getFamily()`
    `javax.faces.component.UIComponent` | `getNodeStamp()` the component to use to stamp each element in the tree.
    `javax.el.MethodExpression` | `getRowDisclosureListener()` Gets a method reference to an ExpansionListener
    `RowDisclosureListener[]` | `getRowDisclosureListeners()` Returns an array of attached rowDisclosure listeners.
    `int` | `getStartLevel()` Gets the starting level, based on a 0 based index, in the menuModel to render based on the focusPath of the menuModel.
    `Object` | `getValue()` Gets the hierarchy of tree data - must be of type org.apache.myfaces.trinidad.model.MenuModel
    `String` | `getVarStatus()` Gets Name of the EL variable used to reference the varStatus information.
    `boolean` | `isImmediate()` Gets whether data validation should be skipped when row disclosure events are generated by this component.
    `protected void` | `processFacetsAndChildren(javax.faces.context.FacesContext context, javax.faces.event.PhaseId phaseId)` Process this component's facets and children.
    `void` | `queueEvent(javax.faces.event.FacesEvent event)` Sets the phaseID of UI events depending on the "immediate" property.
    `void` | `removeRowDisclosureListener(RowDisclosureListener listener)` Removes a rowDisclosure listener.
    `void` | `setDisclosedRowKeys(RowKeySet disclosedRowKeys)` Sets the set of disclosed rows for this component.
    `void` | `setImmediate(boolean immediate)` Sets whether data validation should be skipped when row disclosure events are generated by this component.
    `void` | `setNodeStamp(javax.faces.component.UIComponent nodeStampFacet)` the component to use to stamp each element in the tree.
    `void` | `setRowDisclosureListener(javax.el.MethodExpression rowDisclosureListener)` Sets a method reference to an ExpansionListener
    `void` | `setStartLevel(int startLevel)` Sets the starting level, based on a 0 based index, in the menuModel to render based on the focusPath of the menuModel.
    `void` | `setValue(Object value)` Sets the hierarchy of tree data - must be of type org.apache.myfaces.trinidad.model.MenuModel
    `void` | `setVarStatus(String varStatus)` Sets Name of the EL variable used to reference the varStatus information.
    `protected boolean` | `visitChildren(javax.faces.component.visit.VisitContext visitContext, javax.faces.component.visit.VisitCallback callback)` Override default children visiting code to visit the facets and facets of the columns before delegating to the `visitData` to visit the individual rows of data.
    `protected boolean` | `visitData(javax.faces.component.visit.VisitContext visitContext, javax.faces.component.visit.VisitCallback callback)` Visit the rows and children of the columns of the collection per row-index.

    - ### Methods inherited from class org.apache.myfaces.trinidad.component.UIXNavigationHierarchy

      `getFocusRowKey, getMenuModel`

    - ### Methods inherited from class org.apache.myfaces.trinidad.component.UIXHierarchy

      `areRowsLocallyAvailable, areRowsLocallyAvailable, areRowsLocallyAvailable, createVarStatusMap, enterContainer, exitContainer, getAllAncestorContainerRowKeys, getContainerRowKey, getContainerRowKey, getDepth, getDepth, getFirst, getRows, getStamps, getTreeModel, isChildCollectionLocallyAvailable, isChildCollectionLocallyAvailable, isChildCollectionLocallyAvailable, isContainer, isContainerEmpty, visitHierarchy, visitLevel`

    - ### Methods inherited from class org.apache.myfaces.trinidad.component.UIXCollection

      `areRowsAvailable, areRowsAvailable, areRowsAvailable, areRowsLocallyAvailable, areRowsLocallyAvailable, areRowsLocallyAvailable, clearCachedRow, clearCachedRow, clearCachedRows, clearCachedRows, clearCurrencyStringCache, clearLocalCache, decodeChildrenImpl, defaultVisitChildren, encodeBegin, encodeEnd, ensureRowsAvailable, getCachingStrategy, getClientRowKey, getClientRowKeyManager, getCollectionModel, getCollectionModel, getContainerClientId, getCurrencyString, getEstimatedRowCount, getEstimatedRowCountConfidence, getRowCount, getRowData, getRowData, getRowData, getRowIndex, getRowKey, getSortCriteria, getVar, invokeOnComponent, isRowAvailable, isRowAvailable, isRowAvailable, isRowLocallyAvailable, isRowLocallyAvailable, isSortable, postCreateCollectionModel, postRowDataChange, preRowDataChange, processComponent, processDecodes, processEvent, processFlattenedChildrenBegin, processRestoreState, processSaveState, processUpdates, processValidators, resetStampState, restoreStampState, restoreState, saveStampState, saveState, setClientRowKey, setCurrencyString, setRowIndex, setRowKey, setSortCriteria, setupELVariable, setupVisitingContext, setVar, tearDownVisitingContext, updateChildrenImpl, validateChildrenImpl, visitChildrenWithoutIterating, visitUnstampedFacets`

    - ### Methods inherited from class org.apache.myfaces.trinidad.component.UIXComponentBase

      `adaptMethodBinding, addAttributeChange, addAttributeChangeListener, addClientBehavior, addComponentChange, addComponentChange, addComponentChangeFilter, addFacesListener, broadcastToMethodBinding, broadcastToMethodExpression, clearCachedClientIds, clearInitialState, decode, decodeChildren, encodeChildren, findComponent, getAttributeChangeListener, getAttributeChangeListeners, getAttributes, getBooleanProperty, getChildCount, getChildren, getClientBehaviors, getClientId, getComponentChangeFilters, getContainerClientId, getDefaultEventName, getFacesBean, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacetNames, getFacets, getFacetsAndChildren, getId, getIntProperty, getLifecycleRenderer, getListenersForEventClass, getParent, getProperty, getPropertyKey, getRenderedFacetsAndChildren, getRenderer, getRendererType, getRendersChildren, getValueBinding, getValueExpression, initialStateMarked, invokeOnChildrenComponents, invokeOnNamingContainerComponent, isRendered, isTransient, markInitialState, removeAttributeChangeListener, removeComponentChangeFilter, removeFacesListener, satisfiesPartialTrigger, setAttributeChangeListener, setAttributeChangeListener, setBooleanProperty, setId, setIntProperty, setParent, setProperty, setRendered, setRendererType, setTransient, setupFlattenedChildrenContext, setupFlattenedContext, setValueBinding, setValueExpression, subscribeToEvent, tearDownFlattenedChildrenContext, tearDownFlattenedContext, toString, unsubscribeFromEvent, updateChildren, validateChildren`

    - ### Methods inherited from class org.apache.myfaces.trinidad.component.UIXComponent

      `addPartialTarget, broadcastInContext, clearCachedClientIds, defaultGetRenderedFacetsAndChildren, encodeFlattenedChild, encodeFlattenedChildren, getLogicalParent, getLogicalParent, getStateHelper, getStateHelper, isVisitable, partialEncodeVisit, processFlattenedChildren, processFlattenedChildren, processFlattenedChildren, processFlattenedChildren, setPartialTarget, setupChildrenEncodingContext, setupChildrenVisitingContext, setupEncodingContext, setUpEncodingContext, tearDownChildrenEncodingContext, tearDownChildrenVisitingContext, tearDownEncodingContext, visitAllChildren, visitChildren, visitTree, visitTree`

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

      `encodeAll, getClientId, getCompositeComponentParent, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getResourceBundleMap, getTransientStateHelper, getTransientStateHelper, isCompositeComponent, isInView, popComponentFromEL, pushComponentToEL, restoreTransientState, saveTransientState, setInView`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.myfaces.trinidad.component.CollectionComponent

      `getVar`

    - ### Methods inherited from interface org.apache.myfaces.trinidad.model.RowKeyIndex

      `areRowsAvailable, areRowsAvailable, areRowsAvailable, getRowCount, getRowData, getRowData, getRowData, getRowIndex, getRowKey, isRowAvailable, isRowAvailable, isRowAvailable, setRowIndex, setRowKey`

    - ### Methods inherited from interface org.apache.myfaces.trinidad.model.LocalRowKeyIndex

      `areRowsLocallyAvailable, areRowsLocallyAvailable, areRowsLocallyAvailable, clearCachedRow, clearCachedRow, clearCachedRows, clearCachedRows, clearLocalCache, getCachingStrategy, getEstimatedRowCount, getEstimatedRowCountConfidence, isRowLocallyAvailable, isRowLocallyAvailable`

- - ### Field Detail

    - #### TYPE

          public static final FacesBean.Type TYPE

    - #### ROW_DISCLOSURE_LISTENER_KEY

          public static final PropertyKey ROW_DISCLOSURE_LISTENER_KEY

    - #### DISCLOSED_ROW_KEYS_KEY

          public static final PropertyKey DISCLOSED_ROW_KEYS_KEY

    - #### VALUE_KEY

          public static final PropertyKey VALUE_KEY

    - #### START_LEVEL_KEY

          public static final PropertyKey START_LEVEL_KEY

    - #### VAR_STATUS_KEY

          public static final PropertyKey VAR_STATUS_KEY

    - #### IMMEDIATE_KEY

          public static final PropertyKey IMMEDIATE_KEY

    - #### NODE_STAMP_FACET

          public static final String NODE_STAMP_FACET

      See Also:
        Constant Field Values

    - #### COMPONENT_FAMILY

          public static final String COMPONENT_FAMILY

      See Also:
        Constant Field Values

    - #### COMPONENT_TYPE

          public static final String COMPONENT_TYPE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### UIXNavigationTree

          public UIXNavigationTree()

      Construct an instance of the UIXNavigationTree.

    - #### UIXNavigationTree

          protected UIXNavigationTree(String rendererType)

      Construct an instance of the UIXNavigationTree.

  - ### Method Detail

    - #### queueEvent

          public void queueEvent(javax.faces.event.FacesEvent event)

      Sets the phaseID of UI events depending on the "immediate" property.
      Overrides:
        `queueEvent` in class `UIXCollection`
      Parameters:
        `event` - a FacesEvent

    - #### broadcast

          public void broadcast(javax.faces.event.FacesEvent event)
                         throws javax.faces.event.AbortProcessingException

      Delivers an event.
      Overrides:
        `broadcast` in class `UIXCollection`
      Parameters:
        `event` -
      Throws:
        `javax.faces.event.AbortProcessingException`

    - #### createCollectionModel

          public CollectionModel createCollectionModel(CollectionModel current,
                                              Object value)

      Description copied from class: `UIXCollection`
      Creates the CollectionModel to use with this component. The state of the UIComponent with the new model instance is not fully initialized until after this method returns. As a result, other component attributes that need a fully initialized model should not be initialized in this method. Instead, model-dependent initialization should be done in `postCreateCollectionModel`
      Overrides:
        `createCollectionModel` in class `UIXNavigationHierarchy`
      Parameters:
        `current` - the current CollectionModel, or null if there is none.
        `value` - this is the value returned from `UIXCollection.getValue()`
      See Also:
        `UIXCollection.postCreateCollectionModel(org.apache.myfaces.trinidad.model.CollectionModel)`

    - #### processFacetsAndChildren

          protected void processFacetsAndChildren(javax.faces.context.FacesContext context,
                                      javax.faces.event.PhaseId phaseId)

      Description copied from class: `UIXCollection`
      Process this component's facets and children. This method should call `UIXCollection.processComponent(javax.faces.context.FacesContext, javax.faces.component.UIComponent, javax.faces.event.PhaseId)` as many times as necessary for each facet and child. `UIXCollection.processComponent(javax.faces.context.FacesContext, javax.faces.component.UIComponent, javax.faces.event.PhaseId)` may be called repeatedly for the same child if that child is being stamped.
      Specified by:
        `processFacetsAndChildren` in class `UIXCollection`

    - #### visitChildren

          protected boolean visitChildren(javax.faces.component.visit.VisitContext visitContext,
                              javax.faces.component.visit.VisitCallback callback)

      Description copied from class: `UIXCollection`

      Override default children visiting code to visit the facets and facets of the columns before delegating to the `visitData` to visit the individual rows of data.

      Subclasses should override this method if they wish to change the way in which the non-stamped children are visited. If they wish to change the wash the the stamped children are visited, they should override `visitData` instead.

      Overrides:
        `visitChildren` in class `UIXCollection`
      Parameters:
        `visitContext` - the `VisitContext` for this visit
        `callback` - the `VisitCallback` instance
      Returns:
        `true` if all of the children to visit have been visited
      See Also:
        `UIXCollection.visitData(javax.faces.component.visit.VisitContext, javax.faces.component.visit.VisitCallback)`

    - #### visitData

          protected boolean visitData(javax.faces.component.visit.VisitContext visitContext,
                          javax.faces.component.visit.VisitCallback callback)

      Description copied from class: `UIXCollection`
      Visit the rows and children of the columns of the collection per row-index. This should not visit row index -1 (it will be perfomed in the visitTree method). The columns themselves should not be visited, only their children in this function.
      Specified by:
        `visitData` in class `UIXCollection`
      Parameters:
        `visitContext` - The visiting context
        `callback` - The visit callback
      Returns:
        true if the visiting should stop
      See Also:
        `UIXCollection.visitChildren(VisitContext, VisitCallback)`

    - #### createFacesBean

          protected FacesBean createFacesBean(String rendererType)

      Overrides:
        `createFacesBean` in class `UIXComponentBase`

    - #### getNodeStamp

          public final javax.faces.component.UIComponent getNodeStamp()

      the component to use to stamp each element in the tree. Only certain types of components are supported, including all components with no behavior and most components that implement the EditableValueHolder or ActionSource interfaces.

    - #### setNodeStamp

          public final void setNodeStamp(javax.faces.component.UIComponent nodeStampFacet)

      the component to use to stamp each element in the tree. Only certain types of components are supported, including all components with no behavior and most components that implement the EditableValueHolder or ActionSource interfaces.

    - #### getRowDisclosureListener

          public final javax.el.MethodExpression getRowDisclosureListener()

      Gets a method reference to an ExpansionListener
      Returns:
        the new rowDisclosureListener value

    - #### setRowDisclosureListener

          public final void setRowDisclosureListener(javax.el.MethodExpression rowDisclosureListener)

      Sets a method reference to an ExpansionListener
      Parameters:
        `rowDisclosureListener` - the new rowDisclosureListener value

    - #### getDisclosedRowKeys

          public final RowKeySet getDisclosedRowKeys()

      Gets the set of disclosed rows for this component. Each entry in the set is a rowKey.
      Returns:
        the new disclosedRowKeys value

    - #### setDisclosedRowKeys

          public final void setDisclosedRowKeys(RowKeySet disclosedRowKeys)

      Sets the set of disclosed rows for this component. Each entry in the set is a rowKey.
      Parameters:
        `disclosedRowKeys` - the new disclosedRowKeys value

    - #### getValue

          public final Object getValue()

      Gets the hierarchy of tree data - must be of type org.apache.myfaces.trinidad.model.MenuModel
      Specified by:
        `getValue` in class `UIXCollection`
      Returns:
        the new value value

    - #### setValue

          public final void setValue(Object value)

      Sets the hierarchy of tree data - must be of type org.apache.myfaces.trinidad.model.MenuModel
      Parameters:
        `value` - the new value value

    - #### getStartLevel

          public final int getStartLevel()

      Gets the starting level, based on a 0 based index, in the menuModel to render based on the focusPath of the menuModel.
      Returns:
        the new startLevel value

    - #### setStartLevel

          public final void setStartLevel(int startLevel)

      Sets the starting level, based on a 0 based index, in the menuModel to render based on the focusPath of the menuModel.
      Parameters:
        `startLevel` - the new startLevel value

    - #### getVarStatus

          public final String getVarStatus()

      Gets
      Name of the EL variable used to reference the varStatus information. Once this component has completed rendering, this variable is removed (or reverted back to its previous value). The VarStatus provides contextual information about the state of the component to EL expressions. For components that iterate, varStatus also provides loop counter information. Please see the this component's documentation for the specific properties on the varStatus. The common properties on varStatus include:
      - "model" - returns the CollectionModel for this component
      - "index" - returns the zero based row index
      Specified by:
        `getVarStatus` in class `UIXCollection`
      Returns:
        the new varStatus value
      See Also:
        `UIXCollection.createVarStatusMap()`

    - #### setVarStatus

          public final void setVarStatus(String varStatus)

      Sets
      Name of the EL variable used to reference the varStatus information. Once this component has completed rendering, this variable is removed (or reverted back to its previous value). The VarStatus provides contextual information about the state of the component to EL expressions. For components that iterate, varStatus also provides loop counter information. Please see the this component's documentation for the specific properties on the varStatus. The common properties on varStatus include:
      - "model" - returns the CollectionModel for this component
      - "index" - returns the zero based row index
      Parameters:
        `varStatus` - the new varStatus value

    - #### isImmediate

          public final boolean isImmediate()

      Gets whether data validation should be skipped when row disclosure events are generated by this component. When immediate is false (the default), events will be delivered during the Invoke Application phase, which will trigger validation. When set to true, events will be executed during the Apply Request Values phase.
      Returns:
        the new immediate value

    - #### setImmediate

          public final void setImmediate(boolean immediate)

      Sets whether data validation should be skipped when row disclosure events are generated by this component. When immediate is false (the default), events will be delivered during the Invoke Application phase, which will trigger validation. When set to true, events will be executed during the Apply Request Values phase.
      Parameters:
        `immediate` - the new immediate value

    - #### addRowDisclosureListener

          public final void addRowDisclosureListener(RowDisclosureListener listener)

      Adds a rowDisclosure listener.
      Parameters:
        `listener` - the rowDisclosure listener to add

    - #### removeRowDisclosureListener

          public final void removeRowDisclosureListener(RowDisclosureListener listener)

      Removes a rowDisclosure listener.
      Parameters:
        `listener` - the rowDisclosure listener to remove

    - #### getRowDisclosureListeners

          public final RowDisclosureListener[] getRowDisclosureListeners()

      Returns an array of attached rowDisclosure listeners.
      Returns:
        an array of attached rowDisclosure listeners.

    - #### getFamily

          public String getFamily()

      Specified by:
        `getFamily` in class `UIXComponentBase`

    - #### getBeanType

          protected FacesBean.Type getBeanType()

      Overrides:
        `getBeanType` in class `UIXComponentBase`

Copyright © 2001-2017 The Apache Software Foundation. All Rights Reserved.