public class InstanceImpl extends AbstractObjectImpl implements IInstance
IObject.Type
Constructor and Description |
---|
InstanceImpl(int objectId,
long address,
ClassImpl clazz,
List<Field> fields)
Construct a representation of plain java object in the snapshot.
|
Modifier and Type | Method and Description |
---|---|
Field |
getField(String name)
Returns the field identified by the name.
|
List<Field> |
getFields()
Returns all fields of the object.
|
long |
getObjectAddress()
Get address for the snapshot object.
|
int |
getObjectId()
Get id for the snapshot object.
|
List<NamedReference> |
getOutboundReferences()
Get list of snapshot objects referenced from this snapshot object with
the name of the field over which it was referenced.
|
ArrayLong |
getReferences()
Gets the outbound references from this object, as addresses.
|
long |
getUsedHeapSize()
Get used heap size of just this object.
|
equals, getClassAddress, getClassId, getClassSpecificName, getClazz, getComparatorForClassSpecificName, getComparatorForTechnicalName, getComparatorForUsedHeapSize, getDisplayName, getGCRootInfo, getRetainedHeapSize, getSnapshot, getTechnicalName, hashCode, resolveValue, setClassInstance, setObjectAddress, setObjectId, setSnapshot, toString
getClassSpecificName, getClazz, getDisplayName, getGCRootInfo, getRetainedHeapSize, getSnapshot, getTechnicalName, resolveValue
public InstanceImpl(int objectId, long address, ClassImpl clazz, List<Field> fields)
objectId
- the object idaddress
- the actual addressclazz
- the type of the objectfields
- the instance fields of the object (the static fields are held in the class)public long getObjectAddress()
IObject
long
), have no consecutive order (with gaps), and are not
used for hashing.getObjectAddress
in interface IObject
getObjectAddress
in class AbstractObjectImpl
public int getObjectId()
IObject
int
(this helps
reducing the memory footprint of the snapshot considerably - addresses
are only used for visualization purposes).getObjectId
in interface IObject
getObjectId
in class AbstractObjectImpl
public List<Field> getFields()
IInstance
Fields are ordered in such a way, that first fields defined in the current class and then fields of the super class and its super classes are returned. This order is important to know, if a class declares a field by the same name as the class it inherits from.
public Field getField(String name)
IInstance
If declares a member variable by the same name as the parent class does, then the result of this method is undefined.
public long getUsedHeapSize()
IObject
getUsedHeapSize
in interface IObject
getUsedHeapSize
in class AbstractObjectImpl
public ArrayLong getReferences()
AbstractObjectImpl
getReferences
in class AbstractObjectImpl
public List<NamedReference> getOutboundReferences()
IObject
getOutboundReferences
in interface IObject