public abstract class AbstractObjectImpl extends Object implements IObject, Serializable
IObject.Type
Constructor and Description |
---|
AbstractObjectImpl(int objectId,
long address,
ClassImpl classInstance)
Construct a general object, called from subclass.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
long |
getClassAddress()
Returns the address of the class which is the type of this object.
|
int |
getClassId()
Returns the id of the class which is the type of this object.
|
String |
getClassSpecificName()
Get class specific name of this object which depends on the availability
of the appropriate name resolver, e.g.
|
ClassImpl |
getClazz()
Get class snapshot object this object is an instance of.
|
static Comparator<AbstractObjectImpl> |
getComparatorForClassSpecificName()
Deprecated.
|
static Comparator<AbstractObjectImpl> |
getComparatorForTechnicalName()
Deprecated.
|
static Comparator<AbstractObjectImpl> |
getComparatorForUsedHeapSize()
Deprecated.
|
String |
getDisplayName()
Get concatenation of
IObject.getTechnicalName() and
IObject.getClassSpecificName() . |
GCRootInfo[] |
getGCRootInfo()
Get
GCRootInfo if the object is a garbage collection root or null
otherwise. |
long |
getObjectAddress()
Get address for the snapshot object.
|
int |
getObjectId()
Get id for the snapshot object.
|
abstract ArrayLong |
getReferences()
Gets the outbound references from this object, as addresses.
|
long |
getRetainedHeapSize()
Get retained heap size of this object.
|
ISnapshot |
getSnapshot()
Returns the snapshot from which this object has been read.
|
String |
getTechnicalName()
Get technical name of this object which is something like class@address.
|
abstract long |
getUsedHeapSize()
Get used heap size of just this object.
|
int |
hashCode() |
Object |
resolveValue(String name)
Resolves and returns the value of a field specified by a dot notation.
|
void |
setClassInstance(ClassImpl classInstance)
Changes the type of the object.
|
void |
setObjectAddress(long address)
Used to set the address, for example after reconstructing an object from a file.
|
void |
setObjectId(int objectId)
Set the index for the object
|
void |
setSnapshot(ISnapshot dump)
Set the snapshot for an object.
|
String |
toString() |
getOutboundReferences
public AbstractObjectImpl(int objectId, long address, ClassImpl classInstance)
objectId
- the index of the objectaddress
- the actual addressclassInstance
- the type of the objectpublic long getObjectAddress()
IObject
long
), have no consecutive order (with gaps), and are not
used for hashing.getObjectAddress
in interface IObject
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
public void setObjectAddress(long address)
address
- public void setObjectId(int objectId)
objectId
- the index into all the indexes for other object datapublic ClassImpl getClazz()
IObject
public long getClassAddress()
public int getClassId()
public void setClassInstance(ClassImpl classInstance)
classInstance
- public void setSnapshot(ISnapshot dump)
dump
- the actual current snapshotpublic ISnapshot getSnapshot()
IObject
getSnapshot
in interface IObject
public abstract long getUsedHeapSize()
IObject
getUsedHeapSize
in interface IObject
public long getRetainedHeapSize()
IObject
getRetainedHeapSize
in interface IObject
public abstract ArrayLong getReferences()
public String getClassSpecificName()
IObject
getClassSpecificName
in interface IObject
public String getTechnicalName()
IObject
getTechnicalName
in interface IObject
public String getDisplayName()
IObject
IObject.getTechnicalName()
and
IObject.getClassSpecificName()
.getDisplayName
in interface IObject
IObject.getTechnicalName()
and
IObject.getClassSpecificName()
public final Object resolveValue(String name) throws SnapshotException
IObject
The field can be specified using the dot notation, i.e. object references are followed and its fields are evaluated. If any of the object references is null, null is returned.
resolveValue
in interface IObject
name
- the field name in dot notationSnapshotException
public GCRootInfo[] getGCRootInfo() throws SnapshotException
IObject
GCRootInfo
if the object is a garbage collection root or null
otherwise. An object may or may not be a garbage collection root, it may
even be one for multiple reasons (described in the GCRootInfo
object).getGCRootInfo
in interface IObject
GCRootInfo
if the object is a garbage collection root or
null otherwiseSnapshotException
@Deprecated public static Comparator<AbstractObjectImpl> getComparatorForTechnicalName()
@Deprecated public static Comparator<AbstractObjectImpl> getComparatorForClassSpecificName()
@Deprecated public static Comparator<AbstractObjectImpl> getComparatorForUsedHeapSize()