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
`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.