Package org.apache.tapestry5.corelib.components

## Class Tree

- java.lang.Object
- - org.apache.tapestry5.corelib.components.Tree

-     @Events({"nodeSelected","nodeUnselected"})
      @Import(module="t5/core/tree")
      public class Tree
      extends Object

  A component used to render a recursive tree structure, with expandable/collapsable/selectable nodes. The data that is displayed by the component is provided as a `TreeModel`. A secondary model, the `TreeExpansionModel`, is used to track which nodes have been expanded. The optional `TreeSelectionModel` is used to track node selections (as currently implemented, only leaf nodes may be selected). Tree is not a form control component; all changes made to the tree on the client (expansions, collapsing, and selections) are propagated immediately back to the server. The Tree component uses special tricks to support recursive rendering of the Tree as necessary.
  Since:
    5.3

  Component Parameters
  Name | Type | Flags | Default | Default Prefix
  --- | --- | --- | --- | ---
  class | String |  |  | literal
  Allows the container to specify additional CSS class names for the outer DIV element. The outer DIV always has the class name "tree-container"; the additional class names are typically used to apply a specific size and width to the component.
  expansionModel | org.apache.tapestry5.tree.TreeExpansionModel | Not Null | defaultTreeExpansionModel | prop
  Used to control the Tree's expansion model. By default, a persistent field inside the Tree component stores a DefaultTreeExpansionModel. This parameter may be bound when more control over the implementation of the expansion model, or how it is stored, is required.
  label | org.apache.tapestry5.runtime.RenderCommand |  | block:defaultRenderTreeNodeLabel | prop
  A renderable (usually a Block) that can render the label for a tree node. This will be invoked after the #value parameter has been updated.
  model | org.apache.tapestry5.tree.TreeModel | Required |  | prop
  The model that drives the tree, determining top level nodes and making revealing the overall structure of the tree.
  node | org.apache.tapestry5.tree.TreeNode |  |  | prop
  Optional parameter used to inform the container about what TreeNode is currently rendering; this is primarily used when the label parameter is bound.
  selectionModel | org.apache.tapestry5.tree.TreeSelectionModel |  |  | prop
  Used to control the Tree's selections. When this parameter is bound, then the client-side Tree will track what is selected or not selected, and communicate this (via Ajax requests) up to the server, where it will be recorded into the model. On the client-side, the Tree component will add or remove the `selected-leaf-node-label` CSS class from `span.tree-label` for the node.
  value | Object |  |  | prop
  Optional parameter used to inform the container about the value of the currently rendering TreeNode; this is often preferable to the TreeNode, and like the node parameter, is primarily used when the label parameter is bound.

  Component Events
  Name | Description
  --- | ---
  nodeSelected |
  nodeUnselected |

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Tree()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `clearExpansions()` | Clears the tree's `TreeExpansionModel`.
    `String` | `getContainerClass()` |
    `TreeExpansionModel` | `getDefaultTreeExpansionModel()` |
    `TreeExpansionModel` | `getExpansionModel()` | Returns the actual `TreeExpansionModel` in use for this Tree component, as per the expansionModel parameter.
    `Object` | `getRenderRootNodes()` |
    `Boolean` | `getSelectionEnabled()` |
    `TreeSelectionModel` | `getSelectionModel()` | Returns the actual `TreeSelectionModel` in use for this Tree component, as per the `selectionModel` parameter.
    `Link` | `getTreeActionLink()` |

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

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

- - ### Constructor Detail

    - #### Tree

          public Tree()

  - ### Method Detail

    - #### getContainerClass

          public String getContainerClass()

    - #### getTreeActionLink

          public Link getTreeActionLink()

    - #### getDefaultTreeExpansionModel

          public TreeExpansionModel getDefaultTreeExpansionModel()

    - #### getExpansionModel

          public TreeExpansionModel getExpansionModel()

      Returns the actual `TreeExpansionModel` in use for this Tree component, as per the expansionModel parameter. This is often, but not always, the same as `getDefaultTreeExpansionModel()`.

    - #### getSelectionModel

          public TreeSelectionModel getSelectionModel()

      Returns the actual `TreeSelectionModel` in use for this Tree component, as per the `selectionModel` parameter.

    - #### getRenderRootNodes

          public Object getRenderRootNodes()

    - #### clearExpansions

          public void clearExpansions()

      Clears the tree's `TreeExpansionModel`.

    - #### getSelectionEnabled

          public Boolean getSelectionEnabled()