Package org.eclipse.jface.databinding.viewers

## Class TreeStructureAdvisor<E>

- java.lang.Object
- - org.eclipse.jface.databinding.viewers.TreeStructureAdvisor<E>

Type Parameters:
  `E` - type of the elements in the tree

    public abstract class TreeStructureAdvisor<E>
    extends Object

Instances of this class can be used to improve accuracy and performance of an `ObservableListTreeContentProvider` or an `ObservableSetTreeContentProvider`. This class is intended to be subclassed by clients.

Since:
  1.2

### Constructor Summary

Constructors
`TreeStructureAdvisor()`

### Method Summary

All Methods Instance Methods Concrete Methods
`E` `getParent​(E element)` Returns the parent for the given element, or `null` indicating that the parent can't be computed.
`Boolean` `hasChildren​(E element)` Returns whether the given element has children, or `null` if the actual children collection should be consulted.

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

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

### Constructor Detail

#### TreeStructureAdvisor

    public TreeStructureAdvisor()

### Method Detail

#### getParent

    public E getParent​(E element)

Returns the parent for the given element, or `null` indicating that the parent can't be computed. In this case the tree-structured viewer can't expand a given node correctly if requested. The default implementation returns null; clients should override.

Parameters:
  `element` - the element
Returns:
  the parent element, or `null` if it has none or if the parent cannot be computed

#### hasChildren

    public Boolean hasChildren​(E element)

Returns whether the given element has children, or `null` if the actual children collection should be consulted. The default implementation returns null; clients should override.

Intended as an optimization for when the viewer does not need the actual children. Clients may be able to implement this more efficiently than `getChildren`.

Parameters:
  `element` - the element
Returns:
  `Boolean.TRUE` if the given element has children, `Boolean.FALSE` if the given element never has children, or `null` if the children collection should be consulted.