org.eclipse.mat.hprof
Class HprofHeapObjectReader

java.lang.Object
  extended by org.eclipse.mat.hprof.HprofHeapObjectReader
All Implemented Interfaces:
IObjectReader

public class HprofHeapObjectReader
extends Object
implements IObjectReader


Field Summary
static String VERSION_PROPERTY
           
 
Constructor Summary
HprofHeapObjectReader()
           
 
Method Summary
 void close()
          tidy up when snapshot no longer required
<A> A
getAddon(Class<A> addon)
          Returns extra data to be provided by ISnapshot.getSnapshotAddons(Class addon).
 void open(ISnapshot snapshot)
          Open the dump file associated with the snapshot
 IObject read(int objectId, ISnapshot snapshot)
          Get detailed information about an object
 long[] readObjectArrayContent(ObjectArrayImpl array, int offset, int length)
          Get detailed information about a object array
 Object readPrimitiveArrayContent(PrimitiveArrayImpl array, int offset, int length)
          Get detailed information about a primitive array
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERSION_PROPERTY

public static final String VERSION_PROPERTY
See Also:
Constant Field Values
Constructor Detail

HprofHeapObjectReader

public HprofHeapObjectReader()
Method Detail

open

public void open(ISnapshot snapshot)
          throws IOException
Description copied from interface: IObjectReader
Open the dump file associated with the snapshot

Specified by:
open in interface IObjectReader
Throws:
IOException

readObjectArrayContent

public long[] readObjectArrayContent(ObjectArrayImpl array,
                                     int offset,
                                     int length)
                              throws IOException,
                                     SnapshotException
Description copied from interface: IObjectReader
Get detailed information about a object array

Specified by:
readObjectArrayContent in interface IObjectReader
offset - where in the array to start
length - how much to read
Returns:
an array of object addresses, with 0 for nulls
Throws:
IOException
SnapshotException

readPrimitiveArrayContent

public Object readPrimitiveArrayContent(PrimitiveArrayImpl array,
                                        int offset,
                                        int length)
                                 throws IOException,
                                        SnapshotException
Description copied from interface: IObjectReader
Get detailed information about a primitive array

Specified by:
readPrimitiveArrayContent in interface IObjectReader
Parameters:
array - the array
offset - where in the array to start
length - how much to read
Returns:
a byte[], short[], int[], long[], boolean[], char[], float[], double[]
Throws:
IOException
SnapshotException

read

public IObject read(int objectId,
                    ISnapshot snapshot)
             throws SnapshotException,
                    IOException
Description copied from interface: IObjectReader
Get detailed information about an object

Specified by:
read in interface IObjectReader
Parameters:
objectId - the object id
snapshot - the snapshot
Returns:
an IObject such as InstanceImpl, ObjectArrayImpl, PrimitiveArrayImpl, ClassLoaderImpl
Throws:
SnapshotException
IOException

getAddon

public <A> A getAddon(Class<A> addon)
           throws SnapshotException
Returns extra data to be provided by ISnapshot.getSnapshotAddons(Class addon). Also can be returned via Argument.

Specified by:
getAddon in interface IObjectReader
Parameters:
addon - the type of the extra data required from the dump. HprofHeapObjectReader can be extended using an IRuntimeEnhancer extension to return extra data.
Returns:
the extra data
Throws:
SnapshotException
See Also:
IObjectReader.getAddon(Class)

close

public void close()
           throws IOException
Description copied from interface: IObjectReader
tidy up when snapshot no longer required

Specified by:
close in interface IObjectReader
Throws:
IOException