Class AbstractArrayImpl

java.lang.Object
org.eclipse.mat.parser.model.AbstractObjectImpl
org.eclipse.mat.parser.model.AbstractArrayImpl
All Implemented Interfaces:
Serializable, IArray, IObject
Direct Known Subclasses:
ObjectArrayImpl, PrimitiveArrayImpl

public abstract class AbstractArrayImpl extends AbstractObjectImpl implements IArray
The general implementation of any Java array object (primitive array, object array).
See Also:
No Extend:
  • Constructor Details

    • AbstractArrayImpl

      public AbstractArrayImpl(int objectId, long address, ClassImpl classInstance, int length)
      Construct a general object, called from subclass.
      Parameters:
      objectId - the index of the object
      address - the actual address
      classInstance - the type of the object
      length - the length of the array in elements
  • Method Details

    • getInfo

      public Object getInfo()
      Gets the cached information about the contents of the array.
      Returns:
      the cached data (parser specific).
    • setInfo

      public void setInfo(Object content)
      Sets the cached information about the contents of the array.
      Parameters:
      content - from the IObjectReader
    • getLength

      public int getLength()
      Description copied from interface: IArray
      Returns the length of the array in elements.
      Specified by:
      getLength in interface IArray
      Returns:
      the length
    • setLength

      public void setLength(int i)
      Sets the length in elements.
      Parameters:
      i - the new length
    • getTechnicalName

      public String getTechnicalName()
      Description copied from interface: IObject
      Get technical name of this object which is something like class@address.
      Specified by:
      getTechnicalName in interface IObject
      Overrides:
      getTechnicalName in class AbstractObjectImpl
      Returns:
      technical name of this object which is something like class@address
    • getObjectId

      public int getObjectId()
      Description copied from interface: IObject
      Get id for the snapshot object. The id is not the address, but an internally assigned number fitting into an int (this helps reducing the memory footprint of the snapshot considerably - addresses are only used for visualization purposes).
      Specified by:
      getObjectId in interface IObject
      Overrides:
      getObjectId in class AbstractObjectImpl
      Returns:
      id for the snapshot object
    • getObjectAddress

      public long getObjectAddress()
      Description copied from interface: IObject
      Get address for the snapshot object. This is the address at which the object was stored in memory. Use the address only for visualization purposes and try to use the id wherever possible as the snapshot API is optimized to handle ids and not addresses. Addresses are bigger ( long), have no consecutive order (with gaps), and are not used for hashing.
      Specified by:
      getObjectAddress in interface IObject
      Overrides:
      getObjectAddress in class AbstractObjectImpl
      Returns:
      address for the snapshot object