Package org.eclipse.jface.viewers

# Class TreeSelection

java.lang.Object
org.eclipse.jface.viewers.StructuredSelection
org.eclipse.jface.viewers.TreeSelection

All Implemented Interfaces:
  `Iterable`, `ISelection`, `IStructuredSelection`, `ITreeSelection`

public class TreeSelection extends StructuredSelection implements ITreeSelection
A concrete implementation of the `ITreeSelection` interface, suitable for instantiating.

This class is not intended to be subclassed.

Since:
  3.2

## Field Summary

Fields
Modifier and Type
Field
Description
`static final TreeSelection`
`EMPTY`
The canonical empty selection.

## Constructor Summary

Constructors
Constructor
Description
`TreeSelection()`
Creates a new empty selection.
`TreeSelection(TreePath treePath)`
Constructs a selection based on the elements identified by the given tree path.
`TreeSelection(TreePath[] paths)`
Constructs a selection based on the elements identified by the given tree paths.
`TreeSelection(TreePath[] paths, IElementComparer comparer)`
Constructs a selection based on the elements identified by the given tree paths.
`TreeSelection(TreePath treePath, IElementComparer comparer)`
Constructs a selection based on the elements identified by the given tree path.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
Returns whether this structured selection is equal to the given object.
`IElementComparer`
`getElementComparer()`
Returns the element comparer passed in when the tree selection has been created or `null` if no comparer has been provided.
`TreePath[]`
`getPaths()`
Returns the paths in this selection
`TreePath[]`
`getPathsFor(Object element)`
Returns the paths in this selection whose last segment is equal to the given element

### Methods inherited from class org.eclipse.jface.viewers.StructuredSelection

`getFirstElement, hashCode, isEmpty, iterator, size, stream, toArray, toList, toString`

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

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.jface.viewers.ISelection

`isEmpty`

### Methods inherited from interface org.eclipse.jface.viewers.IStructuredSelection

`getFirstElement, iterator, size, stream, toArray, toList`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

## Field Details

### EMPTY

public static final TreeSelection EMPTY
The canonical empty selection. This selection should be used instead of `null`.

## Constructor Details

### TreeSelection

public TreeSelection(TreePath[] paths)
Constructs a selection based on the elements identified by the given tree paths.

Parameters:
  `paths` - tree paths

### TreeSelection

public TreeSelection(TreePath[] paths, IElementComparer comparer)
Constructs a selection based on the elements identified by the given tree paths.

Parameters:
  `paths` - tree paths
  `comparer` - the comparer, or `null` if default equals is to be used

### TreeSelection

public TreeSelection(TreePath treePath)
Constructs a selection based on the elements identified by the given tree path.

Parameters:
  `treePath` - tree path, or `null` for an empty selection

### TreeSelection

public TreeSelection(TreePath treePath, IElementComparer comparer)
Constructs a selection based on the elements identified by the given tree path.

Parameters:
  `treePath` - tree path, or `null` for an empty selection
  `comparer` - the comparer, or `null` if default equals is to be used

### TreeSelection

public TreeSelection()
Creates a new empty selection. See also the static field `EMPTY` which contains an empty selection singleton.

See Also:
  - `EMPTY`

## Method Details

### getElementComparer

public IElementComparer getElementComparer()
Returns the element comparer passed in when the tree selection has been created or `null` if no comparer has been provided.

Returns:
  the element comparer or `null`
Since:
  3.2

### equals

public boolean equals(Object obj)
Description copied from class: `StructuredSelection`
Returns whether this structured selection is equal to the given object. Two structured selections are equal if they contain the same elements in the same order.

Overrides:
  `equals` in class `StructuredSelection`
Parameters:
  `obj` - the other object
Returns:
  `true` if they are equal, and `false` otherwise

### getPaths

public TreePath[] getPaths()
Description copied from interface: `ITreeSelection`
Returns the paths in this selection

Specified by:
  `getPaths` in interface `ITreeSelection`
Returns:
  the paths in this selection

### getPathsFor

public TreePath[] getPathsFor(Object element)
Description copied from interface: `ITreeSelection`
Returns the paths in this selection whose last segment is equal to the given element

Specified by:
  `getPathsFor` in interface `ITreeSelection`
Parameters:
  `element` - the element to get the tree paths for
Returns:
  the array of tree paths