# Package org.apache.tapestry5.tree

Classes and interfaces used by the `Tree` component

- Interface Summary
  Interface | Description
  --- | ---
  TreeExpansionModel<T> | Tracks which nodes of a `TreeModel` are currently expanded.
  TreeModel<T> | A model for tree-oriented data used by the `Tree` component.
  TreeModelAdapter<T> | Used with `DefaultTreeModel` to define how to extract labels and child nodes from a value.
  TreeNode<T> | A node within a `TreeModel`.
  TreeSelectionModel<T> | Tracks which leaf nodes of a `TreeModel` are currently selected.

- Class Summary
  Class | Description
  --- | ---
  DefaultTreeExpansionModel<T> | Manages a Set of String `TreeNode` ids.
  DefaultTreeModel<T> | A default implementation of TreeModel that starts with a `ValueEncoder` (for the element to string conversion), a `TreeModelAdapter`, and a list of root nodes.
  DefaultTreeSelectionModel<T> | Default implementation of `TreeSelectionModel`.