org.richfaces.component

## Class UITree

- java.lang.Object
- - javax.faces.component.UIComponent
  - - javax.faces.component.UIComponentBase
    - - javax.faces.component.UIData
      - - org.ajax4jsf.component.UIDataAdaptor
        - - org.richfaces.component.UITree

- All Implemented Interfaces:
    javax.faces.component.NamingContainer, javax.faces.component.StateHolder, org.ajax4jsf.component.AjaxChildrenEncoder, org.ajax4jsf.component.AjaxComponent, org.ajax4jsf.component.AjaxDataEncoder, org.richfaces.component.Draggable, org.richfaces.component.Dropzone, org.richfaces.event.DropSource, org.richfaces.event.TreeListenerEventsProducer
  Direct Known Subclasses:
    HtmlTree

      public abstract class UITree
      extends org.ajax4jsf.component.UIDataAdaptor
      implements org.richfaces.event.TreeListenerEventsProducer, org.richfaces.component.Draggable, org.richfaces.component.Dropzone, org.ajax4jsf.component.AjaxComponent

  Author:
    igels Component class providing tree ADT behaviuor

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.ajax4jsf.component.UIDataAdaptor

      `org.ajax4jsf.component.UIDataAdaptor.ComponentVisitor, org.ajax4jsf.component.UIDataAdaptor.IndexedEvent`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `COMPONENT_FAMILY`
    `static java.lang.String` | `COMPONENT_TYPE`
    `static java.lang.String` | `DEFAULT_HIGHLIGHTED_CSS_CLASS`
    `static java.lang.String` | `DEFAULT_SELECTED_CSS_CLASS`
    `static java.lang.String` | `ENCODE_BEHAVIOR_NODE`
    `static java.lang.String` | `ENCODE_BEHAVIOR_NONE`
    `static java.lang.String` | `ENCODE_BEHAVIOR_SUBTREE`
    `static java.lang.String` | `PRESERVE_MODEL_NONE`
    `static java.lang.String` | `PRESERVE_MODEL_REQUEST`
    `static java.lang.String` | `PRESERVE_MODEL_STATE`
    `static java.lang.String` | `SELECTED_NODE_PARAMETER_NAME`
    `static java.lang.String` | `SELECTION_INPUT_ATTRIBUTE`
    `static java.lang.String` | `SWITCH_AJAX`
    `static java.lang.String` | `SWITCH_CLIENT`
    `static java.lang.String` | `SWITCH_SERVER`

    - ### Fields inherited from class org.ajax4jsf.component.UIDataAdaptor

      `COMPONENT_STATE_ATTRIBUTE, decodeVisitor, EMPTY_MODEL, updateVisitor, validateVisitor`

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

      `bindings`

    - ### Fields inherited from interface org.ajax4jsf.component.AjaxComponent

      `AJAX_COMPONETT_PARAMETER`

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

      `SEPARATOR_CHAR`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `UITree()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addAjaxKeyEvent(javax.faces.event.FacesEvent event)`
    `void` | `addChangeExpandListener(org.richfaces.event.NodeExpandedListener listener)`
    `void` | `addDragListener(org.richfaces.event.DragListener listener)`
    `void` | `addDropListener(org.richfaces.event.DropListener listener)`
    `void` | `addNode(javax.faces.context.FacesContext context, java.lang.Object parentRowKey, java.lang.Object newNode, java.lang.Object id, java.lang.Object state)` Add node to tree
    `void` | `addNode(javax.faces.context.FacesContext context, java.lang.Object parentRowKey, org.richfaces.model.TreeNode newNode, java.lang.Object id, java.lang.Object state)` Add node to tree
    `void` | `addNode(java.lang.Object parentRowKey, java.lang.Object newNode, java.lang.Object id, java.lang.Object state)` Add node to tree
    `void` | `addNode(java.lang.Object parentRowKey, org.richfaces.model.TreeNode draggedNode, java.lang.Object id, java.lang.Object state)` Add node to tree
    `void` | `addNodeRequestKey(java.lang.Object o)`
    `void` | `addNodeSelectListener(org.richfaces.event.NodeSelectedListener listener)`
    `void` | `broadcast(javax.faces.event.FacesEvent event)`
    `void` | `captureOrigValue()` Save current state of data variable.
    `void` | `captureOrigValue(javax.faces.context.FacesContext faces)` Save current state of data variable.
    `void` | `clearNodeRequestKeysSet()`
    `void` | `clearTreeNodeState()` Cleanup current tree node state information.
    `boolean` | `containsNodeRequestKey(java.lang.Object o)`
    `protected org.ajax4jsf.model.DataComponentState` | `createComponentState()`
    `protected org.ajax4jsf.model.ExtendedDataModel` | `createDataModel()`
    `protected java.util.Iterator<javax.faces.component.UIComponent>` | `dataChildren()`
    `protected java.lang.String` | `extractKeySegment(javax.faces.context.FacesContext context, java.lang.String tailId)`
    `protected java.util.Iterator<javax.faces.component.UIComponent>` | `fixedChildren()`
    `abstract javax.faces.el.MethodBinding` | `getAdviseNodeOpened()`
    `abstract javax.faces.el.MethodBinding` | `getAdviseNodeSelected()`
    `abstract java.lang.String` | `getAjaxChildActivationEncodeBehavior()`
    `java.util.Set<java.lang.Object>` | `getAjaxNodeKeys()`
    `abstract java.lang.String` | `getAjaxNodeSelectionEncodeBehavior()`
    `java.util.Set<java.lang.Object>` | `getAllAjaxNodeKeys()`
    `org.richfaces.event.NodeExpandedListener[]` | `getChangeExpandListeners()`
    `org.richfaces.event.DragListener[]` | `getDragListeners()`
    `org.richfaces.event.DropListener[]` | `getDropListeners()`
    `abstract java.lang.String` | `getHighlightedClass()`
    `abstract java.lang.String` | `getIcon()`
    `abstract java.lang.String` | `getIconCollapsed()`
    `abstract java.lang.String` | `getIconExpanded()`
    `abstract java.lang.String` | `getIconLeaf()`
    `org.richfaces.model.TreeNode` | `getModelTreeNode()`
    `org.richfaces.model.TreeNode` | `getModelTreeNode(java.lang.Object rowKey)`
    `abstract java.lang.String` | `getNodeFace()`
    `UITreeNode` | `getNodeFacet()` Locates `UITreeNode` instance that has type equal to current nodeFace.
    `java.util.Set<java.lang.Object>` | `getNodeRequestKeys()`
    `org.richfaces.event.NodeSelectedListener[]` | `getNodeSelectListeners()`
    `protected UITreeNode` | `getOrCreateDefaultFacet()` Lazily creates default node representation that is used if there is no `UITreeNode` child for that nodeFace
    `java.lang.Object` | `getParentRowKey(java.lang.Object rowKey)`
    `abstract java.lang.String` | `getPreserveModel()`
    `boolean` | `getRendersChildren()`
    `java.lang.String` | `getResolvedDragIndicator(javax.faces.context.FacesContext facesContext)`
    `java.lang.Object` | `getRowData(java.lang.Object rowKey)` Return the data object representing the node data for the contextual row key
    `javax.faces.convert.Converter` | `getRowKeyConverter()`
    `abstract java.lang.String` | `getSelectedClass()`
    `java.lang.String` | `getSelectionStateInputName(javax.faces.context.FacesContext context)`
    `abstract java.lang.String` | `getSimilarityGroupingId()`
    `abstract java.lang.Object` | `getStateAdvisor()`
    `abstract java.lang.String` | `getSwitchType()`
    `org.richfaces.model.TreeNode` | `getTreeNode()` Return the data object representing the node for the currently selected row key, if any.
    `org.richfaces.model.TreeNode` | `getTreeNode(java.lang.Object rowKey)` Return the data object representing the node for the contextual row key
    `java.lang.Object` | `getTreeNodeRowKey(java.lang.Object node)` Return row key for generic model's tree node
    `java.lang.Object` | `getTreeNodeRowKey(org.richfaces.model.TreeNode node)` Return row key for certain model's tree node
    `java.lang.Object` | `getTreeNodeState()` Collect current tree node state including node selection and expanded nodes list
    `java.lang.String` | `getTreeNodeVar()` Get name of EL variable for the tree node.
    `boolean` | `hasAjaxSubmitSelection()`
    `protected java.util.Iterator<javax.faces.component.UIComponent>` | `invocableChildren()`
    `abstract boolean` | `isAjaxSubmitSelection()`
    `boolean` | `isExpanded()` Returns whether current node is expanded
    `abstract boolean` | `isImmediate()`
    `boolean` | `isLeaf()` Returns whether current node is leaf ie.
    `boolean` | `isSelected()` Returns whether current node is selected
    `abstract boolean` | `isShowConnectingLines()`
    `protected boolean` | `isStopInCollapsed()` Returns whether switch type is set to "server"
    `abstract boolean` | `isToggleOnClick()`
    `void` | `processDecodes(javax.faces.context.FacesContext faces)`
    `void` | `processUpdates(javax.faces.context.FacesContext faces)`
    `void` | `queueCollapseAll()` Queues all node collapsion command
    `void` | `queueEvent(javax.faces.event.FacesEvent event)`
    `void` | `queueExpandAll()` Queues all node expansion command
    `void` | `queueNodeCollapse(org.richfaces.model.TreeRowKey rowKey)` Queues collapsion command for node whose row key is equal to rowKey parameter
    `void` | `queueNodeExpand(org.richfaces.model.TreeRowKey rowKey)` Queues expansion command for node whose row key is equal to rowKey parameter
    `void` | `removeChangeExpandListener(org.richfaces.event.NodeExpandedListener listener)`
    `void` | `removeDragListener(org.richfaces.event.DragListener listener)`
    `void` | `removeDropListener(org.richfaces.event.DropListener listener)`
    `java.lang.Object` | `removeNode(javax.faces.context.FacesContext context, java.lang.Object rowKey)` Remove node from tree
    `java.lang.Object` | `removeNode(java.lang.Object rowKey)` Remove node from tree
    `void` | `removeNodeRequestKey(java.lang.Object o)`
    `void` | `removeNodeSelectListener(org.richfaces.event.NodeSelectedListener listener)`
    `void` | `resetDataModel()`
    `void` | `restoreOrigValue()` Restore value of data variable after processing phase.
    `void` | `restoreOrigValue(javax.faces.context.FacesContext faces)` Restore value of data variable after processing phase.
    `void` | `restoreState(javax.faces.context.FacesContext faces, java.lang.Object object)`
    `java.lang.Object` | `saveState(javax.faces.context.FacesContext faces)`
    `abstract void` | `setAdviseNodeOpened(javax.faces.el.MethodBinding adviseNodeOpened)`
    `abstract void` | `setAdviseNodeSelected(javax.faces.el.MethodBinding adviseNodeSelected)`
    `abstract void` | `setAjaxChildActivationEncodeBehavior(java.lang.String behavior)`
    `void` | `setAjaxNodeKeys(java.util.Set<java.lang.Object> keys)`
    `abstract void` | `setAjaxNodeSelectionEncodeBehavior(java.lang.String behavior)`
    `abstract void` | `setAjaxSubmitSelection(boolean ajaxSubmitSelection)`
    `abstract void` | `setHighlightedClass(java.lang.String selectedClass)`
    `abstract void` | `setIcon(java.lang.String icon)`
    `abstract void` | `setIconCollapsed(java.lang.String icon)`
    `abstract void` | `setIconExpanded(java.lang.String icon)`
    `abstract void` | `setIconLeaf(java.lang.String icon)`
    `abstract void` | `setImmediate(boolean immediate)`
    `abstract void` | `setNodeFace(java.lang.String nodeFace)`
    `abstract void` | `setPreserveModel(java.lang.String preserveModel)`
    `void` | `setRowKeyConverter(javax.faces.convert.Converter rowKeyConverter)`
    `void` | `setSelected()` Sets current node as selected
    `abstract void` | `setSelectedClass(java.lang.String selectedClass)`
    `abstract void` | `setShowConnectingLines(boolean showConnectingLines)`
    `abstract void` | `setSimilarityGroupingId(java.lang.String similarityGroupingId)`
    `abstract void` | `setStateAdvisor(java.lang.Object nodeFace)`
    `abstract void` | `setSwitchType(java.lang.String switchType)`
    `abstract void` | `setToggleOnClick(boolean toggleOnClick)`
    `void` | `setTreeNodeState(java.lang.Object state)` Set current tree node state.
    `void` | `setTreeNodeVar(java.lang.String treeNodeVar)` Set the name of EL variable
    `protected void` | `setupVariable(javax.faces.context.FacesContext faces, javax.faces.model.DataModel localModel, boolean rowSelected)` Setup EL variable for different iteration.
    `void` | `transferQueuedNode()`
    `void` | `walk(javax.faces.context.FacesContext faces, org.ajax4jsf.model.DataVisitor visitor)`
    `void` | `walk(javax.faces.context.FacesContext faces, org.ajax4jsf.model.DataVisitor visitor, org.ajax4jsf.model.Range range, java.lang.Object rowKey, java.lang.Object argument)` Walks through model or some subset of it if rowKey is not null
    `void` | `walkModel(javax.faces.context.FacesContext faces, org.ajax4jsf.model.DataVisitor visitor, org.ajax4jsf.model.Range range, java.lang.Object key, java.lang.Object argument)` Walks through backing data model if current data model has one.

    - ### Methods inherited from class org.ajax4jsf.component.UIDataAdaptor

      `addRequestKey, beforeRenderResponse, broadcastLocal, clearRequestKeysSet, containsRequestKey, encodeAjaxChild, encodeBegin, getAjaxKeys, getAllAjaxKeys, getBaseClientId, getChildrenRenderer, getChildState, getClientId, getComponentState, getEncodedIds, getExtendedDataModel, getRowCount, getRowData, getRowIndex, getRowKey, getRowKeyVar, getStateVar, getValue, invokeOnComponent, isRowAvailable, iterate, keepSaved, processDecodes, processUpdates, processValidators, processValidators, removeRequestKey, resetComponent, restoreChildState, saveChildState, setAjaxKeys, setComponentState, setExtendedDataModel, setId, setParent, setRowIndex, setRowKey, setRowKey, setRowKeyVar, setStateVar, setValue, walk`

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

      `getDataModel, getFamily, getFirst, getFooter, getHeader, getRows, getVar, setDataModel, setFirst, setFooter, setHeader, setRows, setValueBinding, setValueExpression, setVar`

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

      `addFacesListener, decode, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getParent, getRenderer, getRendererType, getValueBinding, isRendered, isTransient, processRestoreState, processSaveState, removeFacesListener, restoreAttachedState, saveAttachedState, setRendered, setRendererType, setTransient`

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

      `encodeAll, getContainerClientId, getValueExpression`

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

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

    - ### Methods inherited from interface org.richfaces.event.TreeListenerEventsProducer

      `getChangeExpandListener, getDragListener, getDropListener, getNodeSelectListener, setChangeExpandListener, setDragListener, setDropListener, setNodeSelectListener`

    - ### Methods inherited from interface org.richfaces.component.Draggable

      `getDragIndicator, getDragListener, getDragType, getDragValue, getGrabbingCursors, getGrabCursors, getOndragend, getOndragstart, getOndropout, getOndropover, setDragIndicator, setDragListener, setDragType, setDragValue, setGrabbingCursors, setGrabCursors, setOndragend, setOndragstart, setOndropout, setOndropover`

    - ### Methods inherited from interface org.richfaces.component.Dropzone

      `getAcceptCursors, getAcceptedTypes, getCursorTypeMapping, getDropValue, getOndragenter, getOndragexit, getOndrop, getOndropend, getRejectCursors, getTypeMapping, setAcceptCursors, setAcceptedTypes, setCursorTypeMapping, setDropValue, setOndragenter, setOndragexit, setOndrop, setOndropend, setRejectCursors, setTypeMapping`

    - ### Methods inherited from interface org.richfaces.event.DropSource

      `getDropListener, setDropListener`

    - ### Methods inherited from interface org.ajax4jsf.component.AjaxComponent

      `getData, getEventsQueue, getFocus, getOnbeforedomupdate, getOncomplete, getProcess, getRequestDelay, getReRender, getStatus, getTimeout, isAjaxSingle, isBypassUpdates, isIgnoreDupResponses, isLimitToList, setAjaxSingle, setBypassUpdates, setData, setEventsQueue, setFocus, setIgnoreDupResponses, setLimitToList, setOnbeforedomupdate, setOncomplete, setProcess, setRequestDelay, setReRender, setStatus, setTimeout`

- - ### Field Detail

    - #### ENCODE_BEHAVIOR_NONE

          public static final java.lang.String ENCODE_BEHAVIOR_NONE

      See Also:
        Constant Field Values

    - #### ENCODE_BEHAVIOR_SUBTREE

          public static final java.lang.String ENCODE_BEHAVIOR_SUBTREE

      See Also:
        Constant Field Values

    - #### ENCODE_BEHAVIOR_NODE

          public static final java.lang.String ENCODE_BEHAVIOR_NODE

      See Also:
        Constant Field Values

    - #### COMPONENT_TYPE

          public static final java.lang.String COMPONENT_TYPE

      See Also:
        Constant Field Values

    - #### COMPONENT_FAMILY

          public static final java.lang.String COMPONENT_FAMILY

      See Also:
        Constant Field Values

    - #### PRESERVE_MODEL_STATE

          public static final java.lang.String PRESERVE_MODEL_STATE

      See Also:
        Constant Field Values

    - #### PRESERVE_MODEL_REQUEST

          public static final java.lang.String PRESERVE_MODEL_REQUEST

      See Also:
        Constant Field Values

    - #### PRESERVE_MODEL_NONE

          public static final java.lang.String PRESERVE_MODEL_NONE

      See Also:
        Constant Field Values

    - #### SWITCH_SERVER

          public static final java.lang.String SWITCH_SERVER

      See Also:
        Constant Field Values

    - #### SWITCH_CLIENT

          public static final java.lang.String SWITCH_CLIENT

      See Also:
        Constant Field Values

    - #### SWITCH_AJAX

          public static final java.lang.String SWITCH_AJAX

      See Also:
        Constant Field Values

    - #### SELECTED_NODE_PARAMETER_NAME

          public static final java.lang.String SELECTED_NODE_PARAMETER_NAME

      See Also:
        Constant Field Values

    - #### SELECTION_INPUT_ATTRIBUTE

          public static final java.lang.String SELECTION_INPUT_ATTRIBUTE

      See Also:
        Constant Field Values

    - #### DEFAULT_SELECTED_CSS_CLASS

          public static final java.lang.String DEFAULT_SELECTED_CSS_CLASS

      See Also:
        Constant Field Values

    - #### DEFAULT_HIGHLIGHTED_CSS_CLASS

          public static final java.lang.String DEFAULT_HIGHLIGHTED_CSS_CLASS

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### UITree

          public UITree()

  - ### Method Detail

    - #### getRendersChildren

          public boolean getRendersChildren()

      Overrides:
        `getRendersChildren` in class `javax.faces.component.UIComponentBase`

    - #### getTreeNodeVar

          public java.lang.String getTreeNodeVar()

      Get name of EL variable for the tree node.
      Returns:
        the varState

    - #### setTreeNodeVar

          public void setTreeNodeVar(java.lang.String treeNodeVar)

      Set the name of EL variable
      Parameters:
        `treeNodeVar` - the varStatus to set

    - #### getOrCreateDefaultFacet

          protected UITreeNode getOrCreateDefaultFacet()

      Lazily creates default node representation that is used if there is no `UITreeNode` child for that nodeFace
      Returns:
        created or existing node representation component

    - #### getTreeNode

          public org.richfaces.model.TreeNode getTreeNode()

      Return the data object representing the node for the currently selected row key, if any.

      Adaptor-based trees do not use `TreeNode`, so the method always return `null` for such trees. Please use `UIDataAdaptor.getRowData()` instead.

      Returns:
        `TreeNode` instance corresponding to the current row key or `null` if none exist

    - #### getModelTreeNode

          public org.richfaces.model.TreeNode getModelTreeNode()

    - #### getModelTreeNode

          public org.richfaces.model.TreeNode getModelTreeNode(java.lang.Object rowKey)

    - #### isImmediate

          public abstract boolean isImmediate()

    - #### setImmediate

          public abstract void setImmediate(boolean immediate)

    - #### queueEvent

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

      Overrides:
        `queueEvent` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### getNodeFacet

          public UITreeNode getNodeFacet()

      Locates `UITreeNode` instance that has type equal to current nodeFace. Default nodeFace is declared as #{var.type} by default where var is "var" attribute value Calls `getOrCreateDefaultFacet()` if none found.
      Returns:
        `UITreeNode` representing current nodeFace
      See Also:
        `getOrCreateDefaultFacet()`

    - #### setupVariable

          protected void setupVariable(javax.faces.context.FacesContext faces,
                           javax.faces.model.DataModel localModel,
                           boolean rowSelected)

      Setup EL variable for different iteration. Value of row tree node is put into request scope attributes with name "treeNodeVar" bean property. All other attributes are processed in parent `UIDataAdaptor` class
      Overrides:
        `setupVariable` in class `org.ajax4jsf.component.UIDataAdaptor`
      Parameters:
        `faces` - - current faces context
        `localModel` - - reference to data model
        `rowSelected` - - boolean flag indicating whether the row is selected

    - #### resetDataModel

          public void resetDataModel()

      Overrides:
        `resetDataModel` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### walk

          public void walk(javax.faces.context.FacesContext faces,
                  org.ajax4jsf.model.DataVisitor visitor)
                    throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### walk

          public void walk(javax.faces.context.FacesContext faces,
                  org.ajax4jsf.model.DataVisitor visitor,
                  org.ajax4jsf.model.Range range,
                  java.lang.Object rowKey,
                  java.lang.Object argument)
                    throws java.io.IOException

      Walks through model or some subset of it if rowKey is not null
      Parameters:
        `faces` - `FacesContext` instance
        `visitor` - `UIDataAdaptor.ComponentVisitor` instance
        `range` - `Range` range instance
        `rowKey` - row key to start from or null to start from root
        `argument` - implementation-specific visitor argument
      Throws:
        `java.io.IOException`

    - #### walkModel

          public void walkModel(javax.faces.context.FacesContext faces,
                       org.ajax4jsf.model.DataVisitor visitor,
                       org.ajax4jsf.model.Range range,
                       java.lang.Object key,
                       java.lang.Object argument)
                         throws java.io.IOException

      Walks through backing data model if current data model has one. Cached data models usually have one. This method is typically used for acquiring new data when some nodes has changed their state
      Parameters:
        `faces` - `FacesContext` instance
        `visitor` - `UIDataAdaptor.ComponentVisitor` instance
        `range` - `Range` range instance
        `rowKey` - row key to start from or null to start from root
        `argument` - implementation-specific visitor argument
      Throws:
        `java.io.IOException`

    - #### getSelectionStateInputName

          public java.lang.String getSelectionStateInputName(javax.faces.context.FacesContext context)

    - #### processDecodes

          public void processDecodes(javax.faces.context.FacesContext faces)

      Overrides:
        `processDecodes` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### dataChildren

          protected java.util.Iterator<javax.faces.component.UIComponent> dataChildren()

      Specified by:
        `dataChildren` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### isLeaf

          public boolean isLeaf()

      Returns whether current node is leaf ie. has no children
      Returns:
        `true` if current node is leaf else `false`

    - #### isExpanded

          public boolean isExpanded()

      Returns whether current node is expanded
      Returns:
        `true` if node is expanded else `false`

    - #### isSelected

          public boolean isSelected()

      Returns whether current node is selected
      Returns:
        `true` if node is selected else `false`

    - #### setSelected

          public void setSelected()

      Sets current node as selected

    - #### fixedChildren

          protected java.util.Iterator<javax.faces.component.UIComponent> fixedChildren()

      Specified by:
        `fixedChildren` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### createComponentState

          protected org.ajax4jsf.model.DataComponentState createComponentState()

      Specified by:
        `createComponentState` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### isStopInCollapsed

          protected boolean isStopInCollapsed()

      Returns whether switch type is set to "server"
      Returns:
        `true` if switch type is "server" else `false`

    - #### broadcast

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

      Overrides:
        `broadcast` in class `org.ajax4jsf.component.UIDataAdaptor`
      Throws:
        `javax.faces.event.AbortProcessingException`

    - #### hasAjaxSubmitSelection

          public boolean hasAjaxSubmitSelection()

      Specified by:
        `hasAjaxSubmitSelection` in interface `org.richfaces.event.TreeListenerEventsProducer`

    - #### captureOrigValue

          public void captureOrigValue()

      Save current state of data variable. Overrides the implementation in the base class for the case the base implementation will be changed.
      Overrides:
        `captureOrigValue` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### captureOrigValue

          public void captureOrigValue(javax.faces.context.FacesContext faces)

      Save current state of data variable.
      Overrides:
        `captureOrigValue` in class `org.ajax4jsf.component.UIDataAdaptor`
      Parameters:
        `faces` - current faces context

    - #### restoreOrigValue

          public void restoreOrigValue()

      Restore value of data variable after processing phase. Overrides the implementation in the base class for the case the base implementation will be changed.
      Overrides:
        `restoreOrigValue` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### restoreOrigValue

          public void restoreOrigValue(javax.faces.context.FacesContext faces)

      Restore value of data variable after processing phase.
      Overrides:
        `restoreOrigValue` in class `org.ajax4jsf.component.UIDataAdaptor`
      Parameters:
        `faces` - current faces context

    - #### processUpdates

          public void processUpdates(javax.faces.context.FacesContext faces)

      Overrides:
        `processUpdates` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### createDataModel

          protected org.ajax4jsf.model.ExtendedDataModel createDataModel()

      Specified by:
        `createDataModel` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### queueNodeExpand

          public void queueNodeExpand(org.richfaces.model.TreeRowKey rowKey)
                               throws java.io.IOException

      Queues expansion command for node whose row key is equal to rowKey parameter
      Parameters:
        `rowKey` - of the node to expand
      Throws:
        `java.io.IOException`

    - #### queueNodeCollapse

          public void queueNodeCollapse(org.richfaces.model.TreeRowKey rowKey)
                                 throws java.io.IOException

      Queues collapsion command for node whose row key is equal to rowKey parameter
      Parameters:
        `rowKey` - of the node to expand
      Throws:
        `java.io.IOException`

    - #### queueExpandAll

          public void queueExpandAll()
                              throws java.io.IOException

      Queues all node expansion command
      Throws:
        `java.io.IOException`

    - #### queueCollapseAll

          public void queueCollapseAll()
                                throws java.io.IOException

      Queues all node collapsion command
      Throws:
        `java.io.IOException`

    - #### getSwitchType

          public abstract java.lang.String getSwitchType()

    - #### setSwitchType

          public abstract void setSwitchType(java.lang.String switchType)

    - #### getIcon

          public abstract java.lang.String getIcon()

    - #### setIcon

          public abstract void setIcon(java.lang.String icon)

    - #### getIconExpanded

          public abstract java.lang.String getIconExpanded()

    - #### setIconExpanded

          public abstract void setIconExpanded(java.lang.String icon)

    - #### getIconCollapsed

          public abstract java.lang.String getIconCollapsed()

    - #### setIconCollapsed

          public abstract void setIconCollapsed(java.lang.String icon)

    - #### getIconLeaf

          public abstract java.lang.String getIconLeaf()

    - #### setIconLeaf

          public abstract void setIconLeaf(java.lang.String icon)

    - #### setShowConnectingLines

          public abstract void setShowConnectingLines(boolean showConnectingLines)

    - #### isShowConnectingLines

          public abstract boolean isShowConnectingLines()

    - #### setAjaxSubmitSelection

          public abstract void setAjaxSubmitSelection(boolean ajaxSubmitSelection)

    - #### isAjaxSubmitSelection

          public abstract boolean isAjaxSubmitSelection()

    - #### getPreserveModel

          public abstract java.lang.String getPreserveModel()

    - #### setPreserveModel

          public abstract void setPreserveModel(java.lang.String preserveModel)

    - #### setHighlightedClass

          public abstract void setHighlightedClass(java.lang.String selectedClass)

    - #### getHighlightedClass

          public abstract java.lang.String getHighlightedClass()

    - #### setSelectedClass

          public abstract void setSelectedClass(java.lang.String selectedClass)

    - #### getSelectedClass

          public abstract java.lang.String getSelectedClass()

    - #### setNodeFace

          public abstract void setNodeFace(java.lang.String nodeFace)

    - #### getNodeFace

          public abstract java.lang.String getNodeFace()

    - #### setToggleOnClick

          public abstract void setToggleOnClick(boolean toggleOnClick)

    - #### isToggleOnClick

          public abstract boolean isToggleOnClick()

    - #### setStateAdvisor

          public abstract void setStateAdvisor(java.lang.Object nodeFace)

    - #### getStateAdvisor

          public abstract java.lang.Object getStateAdvisor()

    - #### getAdviseNodeOpened

          public abstract javax.faces.el.MethodBinding getAdviseNodeOpened()

    - #### setAdviseNodeOpened

          public abstract void setAdviseNodeOpened(javax.faces.el.MethodBinding adviseNodeOpened)

    - #### getAdviseNodeSelected

          public abstract javax.faces.el.MethodBinding getAdviseNodeSelected()

    - #### setAdviseNodeSelected

          public abstract void setAdviseNodeSelected(javax.faces.el.MethodBinding adviseNodeSelected)

    - #### getSimilarityGroupingId

          public abstract java.lang.String getSimilarityGroupingId()

      Specified by:
        `getSimilarityGroupingId` in interface `org.ajax4jsf.component.AjaxComponent`

    - #### setSimilarityGroupingId

          public abstract void setSimilarityGroupingId(java.lang.String similarityGroupingId)

      Specified by:
        `setSimilarityGroupingId` in interface `org.ajax4jsf.component.AjaxComponent`

    - #### getAjaxChildActivationEncodeBehavior

          public abstract java.lang.String getAjaxChildActivationEncodeBehavior()

    - #### setAjaxChildActivationEncodeBehavior

          public abstract void setAjaxChildActivationEncodeBehavior(java.lang.String behavior)

    - #### getAjaxNodeSelectionEncodeBehavior

          public abstract java.lang.String getAjaxNodeSelectionEncodeBehavior()

    - #### setAjaxNodeSelectionEncodeBehavior

          public abstract void setAjaxNodeSelectionEncodeBehavior(java.lang.String behavior)

    - #### addChangeExpandListener

          public void addChangeExpandListener(org.richfaces.event.NodeExpandedListener listener)

      Specified by:
        `addChangeExpandListener` in interface `org.richfaces.event.TreeListenerEventsProducer`

    - #### addNodeSelectListener

          public void addNodeSelectListener(org.richfaces.event.NodeSelectedListener listener)

      Specified by:
        `addNodeSelectListener` in interface `org.richfaces.event.TreeListenerEventsProducer`

    - #### removeChangeExpandListener

          public void removeChangeExpandListener(org.richfaces.event.NodeExpandedListener listener)

    - #### removeNodeSelectListener

          public void removeNodeSelectListener(org.richfaces.event.NodeSelectedListener listener)

    - #### getChangeExpandListeners

          public org.richfaces.event.NodeExpandedListener[] getChangeExpandListeners()

    - #### getNodeSelectListeners

          public org.richfaces.event.NodeSelectedListener[] getNodeSelectListeners()

    - #### addDropListener

          public void addDropListener(org.richfaces.event.DropListener listener)

      Specified by:
        `addDropListener` in interface `org.richfaces.event.DropSource`

    - #### getDropListeners

          public org.richfaces.event.DropListener[] getDropListeners()

      Specified by:
        `getDropListeners` in interface `org.richfaces.event.DropSource`

    - #### removeDropListener

          public void removeDropListener(org.richfaces.event.DropListener listener)

      Specified by:
        `removeDropListener` in interface `org.richfaces.event.DropSource`

    - #### addDragListener

          public void addDragListener(org.richfaces.event.DragListener listener)

      Specified by:
        `addDragListener` in interface `org.richfaces.component.Draggable`

    - #### getDragListeners

          public org.richfaces.event.DragListener[] getDragListeners()

      Specified by:
        `getDragListeners` in interface `org.richfaces.component.Draggable`

    - #### removeDragListener

          public void removeDragListener(org.richfaces.event.DragListener listener)

      Specified by:
        `removeDragListener` in interface `org.richfaces.component.Draggable`

    - #### getRowData

          public java.lang.Object getRowData(java.lang.Object rowKey)

      Return the data object representing the node data for the contextual row key
      Parameters:
        `rowKey` - contextual row key
      Returns:
        data corresponding to the current row key

    - #### getTreeNode

          public org.richfaces.model.TreeNode getTreeNode(java.lang.Object rowKey)

      Return the data object representing the node for the contextual row key
      Parameters:
        `rowKey` - contextual row key
      Returns:
        `TreeNode` instance corresponding to the current row key

    - #### saveState

          public java.lang.Object saveState(javax.faces.context.FacesContext faces)

      Specified by:
        `saveState` in interface `javax.faces.component.StateHolder`
      Overrides:
        `saveState` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### restoreState

          public void restoreState(javax.faces.context.FacesContext faces,
                          java.lang.Object object)

      Specified by:
        `restoreState` in interface `javax.faces.component.StateHolder`
      Overrides:
        `restoreState` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### getResolvedDragIndicator

          public java.lang.String getResolvedDragIndicator(javax.faces.context.FacesContext facesContext)

      Specified by:
        `getResolvedDragIndicator` in interface `org.richfaces.component.Draggable`

    - #### extractKeySegment

          protected java.lang.String extractKeySegment(javax.faces.context.FacesContext context,
                                           java.lang.String tailId)

      Overrides:
        `extractKeySegment` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### invocableChildren

          protected java.util.Iterator<javax.faces.component.UIComponent> invocableChildren()

      Overrides:
        `invocableChildren` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### getRowKeyConverter

          public javax.faces.convert.Converter getRowKeyConverter()

      Overrides:
        `getRowKeyConverter` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### setRowKeyConverter

          public void setRowKeyConverter(javax.faces.convert.Converter rowKeyConverter)

      Overrides:
        `setRowKeyConverter` in class `org.ajax4jsf.component.UIDataAdaptor`

    - #### getTreeNodeRowKey

          public java.lang.Object getTreeNodeRowKey(org.richfaces.model.TreeNode node)

      Return row key for certain model's tree node
      Returns:
        row key

    - #### getTreeNodeRowKey

          public java.lang.Object getTreeNodeRowKey(java.lang.Object node)

      Return row key for generic model's tree node
      Returns:
        row key

    - #### getTreeNodeState

          public java.lang.Object getTreeNodeState()

      Collect current tree node state including node selection and expanded nodes list
      Parameters:
        `transferQueuedNodes` - whether to collect queued expanded nodes states or not
      Returns:
        tree node state

    - #### setTreeNodeState

          public void setTreeNodeState(java.lang.Object state)

      Set current tree node state.
      Parameters:
        `state` - node state to apply.

    - #### clearTreeNodeState

          public void clearTreeNodeState()

      Cleanup current tree node state information.

    - #### removeNode

          public java.lang.Object removeNode(javax.faces.context.FacesContext context,
                                    java.lang.Object rowKey)

      Remove node from tree
      Parameters:
        `context` - JSF context
        `node` - Node to remove
      Returns:
        removed node state description

    - #### removeNode

          public java.lang.Object removeNode(java.lang.Object rowKey)

      Remove node from tree
      Parameters:
        `node` - Node to remove
      Returns:
        removed node state

    - #### addNode

          public void addNode(java.lang.Object parentRowKey,
                     java.lang.Object newNode,
                     java.lang.Object id,
                     java.lang.Object state)

      Add node to tree
      Parameters:
        `parentRowKey` - parent node row key
        `newNode` - inserted node
        `id` - inserted node parent's local identifier
        `state` - inserted tree node state. Optional
      Since:
        3.3.1

    - #### addNode

          public void addNode(javax.faces.context.FacesContext context,
                     java.lang.Object parentRowKey,
                     java.lang.Object newNode,
                     java.lang.Object id,
                     java.lang.Object state)

      Add node to tree
      Parameters:
        `context` - JSF context
        `parentRowKey` - parent node row key
        `newNode` - inserted node
        `id` - inserted node parent's local identifier
        `state` - inserted tree node state. Optional
      Since:
        3.3.1

    - #### addNode

          public void addNode(javax.faces.context.FacesContext context,
                     java.lang.Object parentRowKey,
                     org.richfaces.model.TreeNode newNode,
                     java.lang.Object id,
                     java.lang.Object state)

      Add node to tree
      Parameters:
        `context` - JSF context
        `parentRowKey` - parent node row key
        `newNode` - inserted node
        `id` - inserted node parent's local identifier
        `state` - inserted tree node state. Optional

    - #### addNode

          public void addNode(java.lang.Object parentRowKey,
                     org.richfaces.model.TreeNode draggedNode,
                     java.lang.Object id,
                     java.lang.Object state)

      Add node to tree
      Parameters:
        `parentRowKey` - parent node row key
        `newNode` - inserted node
        `id` - inserted node parent's local identifier
        `state` - inserted tree node state. Optional

    - #### getParentRowKey

          public java.lang.Object getParentRowKey(java.lang.Object rowKey)

    - #### transferQueuedNode

          public void transferQueuedNode()

    - #### addNodeRequestKey

          public void addNodeRequestKey(java.lang.Object o)

      Parameters:
        `o` -
      Since:
        3.3.0

    - #### clearNodeRequestKeysSet

          public void clearNodeRequestKeysSet()

      Since:
        3.3.0

    - #### containsNodeRequestKey

          public boolean containsNodeRequestKey(java.lang.Object o)

      Parameters:
        `o` -
      Returns:
      Since:
        3.3.0

    - #### removeNodeRequestKey

          public void removeNodeRequestKey(java.lang.Object o)

      Parameters:
        `o` -
      Since:
        3.3.0

    - #### getNodeRequestKeys

          public java.util.Set<java.lang.Object> getNodeRequestKeys()

      Returns:
      Since:
        3.3.0

    - #### getAjaxNodeKeys

          public java.util.Set<java.lang.Object> getAjaxNodeKeys()

      Returns:
      Since:
        3.3.0

    - #### setAjaxNodeKeys

          public void setAjaxNodeKeys(java.util.Set<java.lang.Object> keys)

      Parameters:
        `keys` -
      Since:
        3.3.0

    - #### getAllAjaxNodeKeys

          public java.util.Set<java.lang.Object> getAllAjaxNodeKeys()

      Returns:
      Since:
        3.3.0

    - #### addAjaxKeyEvent

          protected void addAjaxKeyEvent(javax.faces.event.FacesEvent event)

      Overrides:
        `addAjaxKeyEvent` in class `org.ajax4jsf.component.UIDataAdaptor`

Copyright © 2013. All Rights Reserved.