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
MultiplePathsFromGCRootsComputerImpl
public MultiplePathsFromGCRootsComputerImpl(int[] objectIds,
Map<IClass,Set<String>> excludeMap,
SnapshotImpl snapshot)
throws SnapshotException
- Throws:
SnapshotException
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