Interface IObjectReader

All Known Implementing Classes:
DTFJHeapObjectReader, HprofHeapObjectReader

public interface IObjectReader
Part of the parser which retrieves detailed information about an object
  • Method Details

    • open

      void open(ISnapshot snapshot) throws SnapshotException, IOException
      Open the dump file associated with the snapshot
      Parameters:
      snapshot - the snapshot
      Throws:
      SnapshotException - some other problem
      IOException - an IO problem, or corrupt indexes or unexpected data in the dump
    • read

      IObject read(int objectId, ISnapshot snapshot) throws SnapshotException, IOException
      Get detailed information about an object
      Parameters:
      objectId - the object id
      snapshot - the snapshot
      Returns:
      an IObject such as InstanceImpl, ObjectArrayImpl, PrimitiveArrayImpl, ClassLoaderImpl
      Throws:
      SnapshotException - some other problem such as where the object is incompatible with the snapshot
      IOException - an IO problem or unexpected data in the dump
    • readPrimitiveArrayContent

      Object readPrimitiveArrayContent(PrimitiveArrayImpl array, int offset, int length) throws IOException, SnapshotException
      Get detailed information about a primitive array
      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:
      SnapshotException - some other problem such as where the object is incompatible with the snapshot
      IOException - an IO problem or unexpected data in the dump
    • readObjectArrayContent

      long[] readObjectArrayContent(ObjectArrayImpl array, int offset, int length) throws IOException, SnapshotException
      Get detailed information about a object array
      Parameters:
      array - the array
      offset - where in the array to start
      length - how much to read
      Returns:
      an array of object addresses, with 0 for nulls
      Throws:
      SnapshotException - some other problem such as where the object is incompatible with the snapshot
      IOException - an IO problem or unexpected data in the dump
    • getAddon

      <A> A getAddon(Class<A> addon) throws SnapshotException
      Get additional information about the snapshot
      Type Parameters:
      A - used to set the return type
      Parameters:
      addon - type of the additional information
      Returns:
      the additional information or null if none available
      Throws:
      SnapshotException - an IO problem or unexpected data in the dump
    • close

      void close() throws IOException
      tidy up when snapshot no longer required
      Throws:
      IOException - should not normally occur