Package org.eclipse.mat.snapshot

## Interface IMultiplePathsFromGCRootsComputer

All Known Implementing Classes:
  `MultiplePathsFromGCRootsComputerImpl`

    public interface IMultiplePathsFromGCRootsComputer

Objects of this type can be used to work with paths to many objects

No Implement:

### Method Summary

All Methods Instance Methods Abstract Methods
`Object[]` `getAllPaths​(IProgressListener progressListener)` Calculates (if not yet calculated) and returns all the paths.
`MultiplePathsFromGCRootsRecord[]` `getPathsByGCRoot​(IProgressListener progressListener)` Calculates (if not yet calculated) and returns all the paths.

### Method Detail

#### getPathsByGCRoot

    MultiplePathsFromGCRootsRecord[] getPathsByGCRoot​(IProgressListener progressListener)
                                               throws SnapshotException

Calculates (if not yet calculated) and returns all the paths. The paths are grouped by the GC root object, i.e. all paths starting from one and the same GC root will be packed in one MultiplePathsFromGCRootsRecord. This record can be used to get the objects at the next level in the path, etc...

Parameters:
  `progressListener` - - used to track the progress of the computation
Returns:
  MultiplePathsFromGCRootsRecord[] one record for each group of paths starting from the same GC root
Throws:
  `SnapshotException`

#### getAllPaths

    Object[] getAllPaths​(IProgressListener progressListener)
                  throws SnapshotException

Calculates (if not yet calculated) and returns all the paths. Each element in the Object[] is an int[] representing the path. The first element in the int[] is the specified object, and the last is the GC root object

Parameters:
  `progressListener` - - used to track the progress of the computation
Returns:
  Object[] - each element in the array is an int[] representing a path
Throws:
  `SnapshotException`