org.eclipse.mat.internal.snapshot.inspections

## Class Path2GCRootsQuery.Tree

- java.lang.Object
- - org.eclipse.mat.internal.snapshot.inspections.Path2GCRootsQuery.Tree

All Implemented Interfaces:
  IDecorator, IIconProvider, IResult, IResultTree, ISelectionProvider, IStructuredResult

Enclosing class:
  Path2GCRootsQuery

    public static final class Path2GCRootsQuery.Tree
    extends Object
    implements IResultTree, IIconProvider, IDecorator, ISelectionProvider

### Field Summary

### Fields inherited from interface org.eclipse.mat.query.IIconProvider

`EMPTY`

### Fields inherited from interface org.eclipse.mat.query.ISelectionProvider

`EMPTY`

### Constructor Summary

Constructors
Constructor and Description
`Tree(ISnapshot snapshot, int objectId, IPathsFromGCRootsComputer computer)`

### Method Summary

All Methods Instance Methods Concrete Methods
`List<?>` `addNextPath()`
`List<?>` `getChildren(Object parent)` Returns the child elements of the given parent.
`Column[]` `getColumns()` The columns of the tree or table.
`Object` `getColumnValue(Object row, int columnIndex)` Returns the (unformatted) value of a table/tree cell.
`IContextObject` `getContext(Object row)` The default context of the row which is used to display information in the object inspector.
`List<?>` `getElements()` Returns the root elements of the tree.
`URL` `getIcon(Object row)`
`int` `getNumberOfPaths()`
`ResultMetaData` `getResultMetaData()` (Optionally) Return meta data of the result needed to fine-tune the display of the result.
`boolean` `hasChildren(Object element)` Returns whether the given element has children.
`boolean` `isExpanded(Object row)` Should this node be expanded.
`boolean` `isSelected(Object row)` Has the user selected this row?
`boolean` `morePathsAvailable()`
`String` `prefix(Object row)` Add before the object for example <local>
`String` `suffix(Object row)` Add after the object

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

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

### Constructor Detail

#### Tree

    public Tree(ISnapshot snapshot,
                int objectId,
                IPathsFromGCRootsComputer computer)

### Method Detail

#### addNextPath

    public List<?> addNextPath()
                        throws SnapshotException

Returns:
  the ancestors of the first newly created object
Throws:
  `SnapshotException`

#### morePathsAvailable

    public boolean morePathsAvailable()

#### getNumberOfPaths

    public int getNumberOfPaths()

#### getResultMetaData

    public ResultMetaData getResultMetaData()

Description copied from interface: `IResult`
(Optionally) Return meta data of the result needed to fine-tune the display of the result. This could include an additional context, an additional query to run on selected data from the result , additional calculated columns, or an indication that the results are already presorted.

Specified by:
  `getResultMetaData` in interface `IResult`
Returns:
  the metadata for the result, used to obtain extra data

#### getColumns

    public final Column[] getColumns()

Description copied from interface: `IStructuredResult`
The columns of the tree or table.

Specified by:
  `getColumns` in interface `IStructuredResult`
Returns:
  an array of all the columns

#### getElements

    public List<?> getElements()

Description copied from interface: `IResultTree`
Returns the root elements of the tree.

Specified by:
  `getElements` in interface `IResultTree`
Returns:
  list of elements which can be passed to `IResultTree.getChildren(Object)` or `IStructuredResult.getContext(Object)` or `IStructuredResult.getColumnValue(Object, int)`.

#### getChildren

    public List<?> getChildren(Object parent)

Description copied from interface: `IResultTree`
Returns the child elements of the given parent.

Specified by:
  `getChildren` in interface `IResultTree`
Parameters:
  `parent` - The row object as returned by the `IResultTree.getElements()` or `IResultTree.getChildren(Object)` methods.
Returns:
  a list of children of this branch of the tree

#### hasChildren

    public boolean hasChildren(Object element)

Description copied from interface: `IResultTree`
Returns whether the given element has children.

Specified by:
  `hasChildren` in interface `IResultTree`
Parameters:
  `element` - the opaque object used to indicate which branch
Returns:
  true if this element has children

#### getColumnValue

    public final Object getColumnValue(Object row,
                                       int columnIndex)

Description copied from interface: `IStructuredResult`
Returns the (unformatted) value of a table/tree cell.

Specified by:
  `getColumnValue` in interface `IStructuredResult`
Parameters:
  `row` - The row object as returned by the `IResultTable.getRow(int)` or `IResultTree.getElements()` or `IResultTree.getChildren(Object)` methods
  `columnIndex` - The index of the column.
Returns:
  the cell value

#### getContext

    public final IContextObject getContext(Object row)

Description copied from interface: `IStructuredResult`
The default context of the row which is used to display information in the object inspector. Unless no context provider is given via the `ResultMetaData`, it is also used for the context menu on a row.

Specified by:
  `getContext` in interface `IStructuredResult`
Parameters:
  `row` - The row object as returned by the `IResultTable.getRow(int)` or `IResultTree.getElements()` or `IResultTree.getChildren(Object)` methods.
Returns:
  a context object holding details about that row

#### getIcon

    public URL getIcon(Object row)

Specified by:
  `getIcon` in interface `IIconProvider`

#### isExpanded

    public boolean isExpanded(Object row)

Description copied from interface: `ISelectionProvider`
Should this node be expanded.

Specified by:
  `isExpanded` in interface `ISelectionProvider`
Parameters:
  `row` - the chosen row
Returns:
  true if it should be expanded.

#### isSelected

    public boolean isSelected(Object row)

Description copied from interface: `ISelectionProvider`
Has the user selected this row?

Specified by:
  `isSelected` in interface `ISelectionProvider`
Parameters:
  `row` - the chosen row
Returns:
  true if selected

#### prefix

    public final String prefix(Object row)

Description copied from interface: `IDecorator`
Add before the object for example <local>

Specified by:
  `prefix` in interface `IDecorator`
Parameters:
  `row` - used to find the row
Returns:
  the prefix or null

#### suffix

    public final String suffix(Object row)

Description copied from interface: `IDecorator`
Add after the object

Specified by:
  `suffix` in interface `IDecorator`
Parameters:
  `row` - used to find the row
Returns:
  the suffix or null