com.google.gwt.user.cellview.client

## Class CellBrowser.TreeNodeImpl<C>

- java.lang.Object
- - com.google.gwt.user.cellview.client.CellBrowser.TreeNodeImpl<C>

- Type Parameters:
    `C` - the data type of the children of the node
  All Implemented Interfaces:
    TreeNode
  Enclosing class:
    CellBrowser

      class CellBrowser.TreeNodeImpl<C>
      extends java.lang.Object
      implements TreeNode

  A node in the tree.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TreeNodeImpl(TreeViewModel.NodeInfo<C> nodeInfo, java.lang.Object value, CellBrowser.BrowserCellList<C> display, Widget widget)` Construct a new `CellBrowser.TreeNodeImpl`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getChildCount()` Get the number of children of the node.
    `C` | `getChildValue(int index)` Get the value associated with a child node.
    `(package private) CellBrowser.BrowserCellList<C>` | `getDisplay()`
    `(package private) java.lang.Object` | `getFocusedKey()` Return the key of the value that is focused in this node's display.
    `int` | `getIndex()` Get the index of the current node relative to its parent.
    `CellBrowser.TreeNodeImpl<?>` | `getParent()` Get the parent node of this node.
    `java.lang.Object` | `getValue()` Get the value associated with this node.
    `boolean` | `isChildLeaf(int index)` Check whether or not a child node is a leaf node.
    `boolean` | `isChildOpen(int index)` Check whether or not a child node is open.
    `boolean` | `isDestroyed()` Check whether or not the current node is destroyed.
    `(package private) boolean` | `isFocusedOpen()` Return true if the focused value is open, false if not.
    `TreeNode` | `setChildOpen(int index, boolean open)` Open or close a child node and fire an event.
    `TreeNode` | `setChildOpen(int index, boolean open, boolean fireEvents)` Open or close the node, optionally firing an event.

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

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

- - ### Constructor Detail

    - #### TreeNodeImpl

          public TreeNodeImpl(TreeViewModel.NodeInfo<C> nodeInfo,
                              java.lang.Object value,
                              CellBrowser.BrowserCellList<C> display,
                              Widget widget)

      Construct a new `CellBrowser.TreeNodeImpl`.
      Parameters:
        `nodeInfo` - the nodeInfo for the children nodes
        `value` - the value of the node
        `display` - the display associated with the node
        `widget` - the widget that wraps the display

  - ### Method Detail

    - #### getChildCount

          public int getChildCount()

      Description copied from interface: `TreeNode`
      Get the number of children of the node.
      Specified by:
        `getChildCount` in interface `TreeNode`
      Returns:
        the child count

    - #### getChildValue

          public C getChildValue(int index)

      Description copied from interface: `TreeNode`
      Get the value associated with a child node.
      Specified by:
        `getChildValue` in interface `TreeNode`
      Parameters:
        `index` - the child index
      Returns:
        the value

    - #### getIndex

          public int getIndex()

      Description copied from interface: `TreeNode`
      Get the index of the current node relative to its parent.
      Specified by:
        `getIndex` in interface `TreeNode`
      Returns:
        the index of the current node

    - #### getParent

          public CellBrowser.TreeNodeImpl<?> getParent()

      Description copied from interface: `TreeNode`
      Get the parent node of this node.
      Specified by:
        `getParent` in interface `TreeNode`
      Returns:
        the parent node, or null if this node is the root node

    - #### getValue

          public java.lang.Object getValue()

      Description copied from interface: `TreeNode`
      Get the value associated with this node. This method can be called on destroyed nodes.
      Specified by:
        `getValue` in interface `TreeNode`
      Returns:
        the value

    - #### isChildLeaf

          public boolean isChildLeaf(int index)

      Description copied from interface: `TreeNode`
      Check whether or not a child node is a leaf node.
      Specified by:
        `isChildLeaf` in interface `TreeNode`
      Parameters:
        `index` - the index of the child
      Returns:
        true if a leaf node, false if not

    - #### isChildOpen

          public boolean isChildOpen(int index)

      Description copied from interface: `TreeNode`
      Check whether or not a child node is open.
      Specified by:
        `isChildOpen` in interface `TreeNode`
      Parameters:
        `index` - the index of the child
      Returns:
        true if open, false if closed

    - #### isDestroyed

          public boolean isDestroyed()

      Description copied from interface: `TreeNode`
      Check whether or not the current node is destroyed. The node is destroyed when it is closed, even if it still appears in the tree as an unopened non-leaf node. Once a node is destroyed, calling most methods on the node results in an `IllegalStateException`.
      Specified by:
        `isDestroyed` in interface `TreeNode`
      Returns:
        true if destroyed, false if active

    - #### setChildOpen

          public TreeNode setChildOpen(int index,
                                       boolean open)

      Description copied from interface: `TreeNode`
      Open or close a child node and fire an event. If `open` is true and the `TreeNode` successfully opens, returns the child `TreeNode`. Delegates to `TreeNode.setChildOpen(int,boolean, boolean)`.
      Specified by:
        `setChildOpen` in interface `TreeNode`
      Parameters:
        `index` - the index of the child
        `open` - true to open, false to close
      Returns:
        the `TreeNode` that was opened, or null if the node was closed or could not be opened

    - #### setChildOpen

          public TreeNode setChildOpen(int index,
                                       boolean open,
                                       boolean fireEvents)

      Description copied from interface: `TreeNode`
      Open or close the node, optionally firing an event. If `open` is true and the `TreeNode` successfully opens, returns the child `TreeNode`.
      Specified by:
        `setChildOpen` in interface `TreeNode`
      Parameters:
        `index` - the index of the child
        `open` - true to open, false to flose
        `fireEvents` - true to fire an event, false not to
      Returns:
        the `TreeNode` that was opened, or null if the node was closed or could not be opened

    - #### getDisplay

          CellBrowser.BrowserCellList<C> getDisplay()

    - #### getFocusedKey

          java.lang.Object getFocusedKey()

      Return the key of the value that is focused in this node's display.

    - #### isFocusedOpen

          boolean isFocusedOpen()

      Return true if the focused value is open, false if not.