Package org.eclipse.mat.parser.internal.snapshot

# Class MultiplePathsFromGCRootsComputerImpl

java.lang.Object
org.eclipse.mat.parser.internal.snapshot.MultiplePathsFromGCRootsComputerImpl

All Implemented Interfaces:
  `IMultiplePathsFromGCRootsComputer`

public class MultiplePathsFromGCRootsComputerImpl extends Object implements IMultiplePathsFromGCRootsComputer

## Constructor Summary

Constructors
Constructor
Description
`MultiplePathsFromGCRootsComputerImpl(int[] objectIds, Map<IClass,Set<String>> excludeMap, SnapshotImpl snapshot)`

## Method Summary

Modifier and Type
Method
Description
`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.
`MultiplePathsFromGCRootsClassRecord[]`
`getPathsGroupedByClass(boolean startFromTheGCRoots, IProgressListener progressListener)`

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

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

## Constructor Details

### MultiplePathsFromGCRootsComputerImpl

public MultiplePathsFromGCRootsComputerImpl(int[] objectIds, Map<IClass,Set<String>> excludeMap, SnapshotImpl snapshot) throws SnapshotException

Throws:
  `SnapshotException`

## Method Details

### getPathsByGCRoot

public MultiplePathsFromGCRootsRecord[] getPathsByGCRoot(IProgressListener progressListener) throws SnapshotException
Description copied from interface: `IMultiplePathsFromGCRootsComputer`
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...

Specified by:
  `getPathsByGCRoot` in interface `IMultiplePathsFromGCRootsComputer`
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

public Object[] getAllPaths(IProgressListener progressListener) throws SnapshotException
Description copied from interface: `IMultiplePathsFromGCRootsComputer`
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

Specified by:
  `getAllPaths` in interface `IMultiplePathsFromGCRootsComputer`
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`

### getPathsGroupedByClass

public MultiplePathsFromGCRootsClassRecord[] getPathsGroupedByClass(boolean startFromTheGCRoots, IProgressListener progressListener) throws SnapshotException

Throws:
  `SnapshotException`