org.eclipse.mat.parser.internal.snapshot
Class MultiplePathsFromGCRootsComputerImpl

java.lang.Object
  extended by org.eclipse.mat.parser.internal.snapshot.MultiplePathsFromGCRootsComputerImpl
All Implemented Interfaces:
IMultiplePathsFromGCRootsComputer

public class MultiplePathsFromGCRootsComputerImpl
extends java.lang.Object
implements IMultiplePathsFromGCRootsComputer


Constructor Summary
MultiplePathsFromGCRootsComputerImpl(int[] objectIds, java.util.Map<IClass,java.util.Set<java.lang.String>> excludeMap, SnapshotImpl snapshot)
           
 
Method Summary
 java.lang.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 Detail

MultiplePathsFromGCRootsComputerImpl

public MultiplePathsFromGCRootsComputerImpl(int[] objectIds,
                                            java.util.Map<IClass,java.util.Set<java.lang.String>> excludeMap,
                                            SnapshotImpl snapshot)
                                     throws SnapshotException
Throws:
SnapshotException
Method Detail

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 java.lang.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