|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IObjectInfo
Representation of an object reference, including its class and ID.
Field Summary | |
---|---|
static IObjectInfo[] |
EMPTY_ARRAY
An empty IObjectInfo array. |
Method Summary | ||
---|---|---|
IClassInfo |
getClassInfo()
|
|
|
getField(java.lang.String fieldName,
java.lang.Class<T> type,
Policy policy)
Get the actual primitive wrapper or object
representation of of the most visible field that has the name
fieldName and is assignable to the class type
as per IValue.isAssignableTo(Class) in the object represented by
this IObjectInfo . |
|
IObjectInfo |
getFieldReference(java.lang.String fieldName,
Policy policy)
Get the IObjectInfo corresponding to the value of the
most visible non-primitive field with the name
fieldName in the object represented by this
IObjectInfo . |
|
IFieldValue |
getFieldValue(java.lang.String fieldName,
java.lang.Class<?> type,
Policy policy)
Get the IFieldValue of the most visible field that has
the name fieldName and is assignable to the class
type as per IValue.isAssignableTo(Class) in the
object represented by this IObjectInfo . |
|
IFieldValue[] |
getFieldValues(Policy policy)
Get the values and names for all the fields in the object represented by this IObjectInfo . |
|
LimitedNumber |
getKeepAliveSize(long stopAt,
Policy policy)
Get the total size of all objects held on to by this object (the transitive closure). |
|
boolean |
isDiscarded()
|
Methods inherited from interface com.jrockit.memleak.IObjectSpecifier |
---|
getObjectId |
Field Detail |
---|
static final IObjectInfo[] EMPTY_ARRAY
IObjectInfo
array.
Method Detail |
---|
IClassInfo getClassInfo()
IClassInfo
for the class of this object.boolean isDiscarded()
IFieldValue[] getFieldValues(Policy policy) throws GarbageCollectedException
IObjectInfo
.
Note that null may be returned, if the policy
allows it.
policy
- the cache policy to use
IFieldValue
s representing the fields, or null
according to policy
InspectException
java.io.IOException
java.lang.IllegalStateException
- if this object reference has been invalidated.
GarbageCollectedException
- if the object has been garbage collected.IFieldValue getFieldValue(java.lang.String fieldName, java.lang.Class<?> type, Policy policy) throws GarbageCollectedException, NoMatchingFieldException
IFieldValue
of the most visible field that has
the name fieldName
and is assignable to the class
type
as per IValue.isAssignableTo(Class)
in the
object represented by this IObjectInfo
.
The most visible field is defined from a Java source perspective
in that it normally would be the field that is in scope from within the
actual class. More specifically, starting from the actual class and
moving up the super class hierarchy, the first non-synthetic field with
fieldName
and a matching type, is returned. If no such field
is found, the first synthetic field of that name and with a matching
type, found by looking in the same order, is returned. If no field with
that name and a matching type could be found at all,
NoMatchingFieldException
is thrown.
fieldName
- the name of the fieldtype
- policy
- the cache policy to use
IFieldValue
, unless the value is currently unavailable
according to policy
, in which case null is returned.
GarbageCollectedException
- if the object has been garbage collected.
NoMatchingFieldException
- if no field with the given name and a matching type could be
found<T> T getField(java.lang.String fieldName, java.lang.Class<T> type, Policy policy) throws GarbageCollectedException, NoMatchingFieldException
object
representation
of of the most visible field that has the name
fieldName
and is assignable to the class type
as per IValue.isAssignableTo(Class)
in the object represented by
this IObjectInfo
.
The most visible field is defined from a Java source perspective
in that it normally would be the field that is in scope from within the
actual class. More specifically, starting from the actual class and
moving up the super class hierarchy, the value of the first non-synthetic
field with fieldName
and a matching type, is returned. If no
such field is found, the value of the first synthetic field of that name
and with a matching type, found by looking in the same order, is
returned. If no field with that name and a matching type could be found
at all, NoMatchingFieldException
is thrown.
T
- implicitfieldName
- the name of the fieldtype
- policy
- the cache policy to use
T
(that is, a primitive wrapper or an
IObjectInfo
), or null
java.lang.IllegalStateException
- if this object reference has been invalidated.
GarbageCollectedException
- if the object has been garbage collected.
NoMatchingFieldException
- if no field with the given name and a matching type could be
foundIObjectInfo getFieldReference(java.lang.String fieldName, Policy policy) throws GarbageCollectedException, NoMatchingFieldException
IObjectInfo
corresponding to the value of the
most visible non-primitive field with the name
fieldName
in the object represented by this
IObjectInfo
.
The most visible field is defined from a Java source perspective
in that it normally would be the field that is in scope from within the
actual class. More specifically, starting from the actual class and
moving up the super class hierarchy, the first non-synthetic and
non-primitive field with fieldName
is returned. If no such
field is found, the first synthetic non-primitive field of that name,
found by looking in the same order, is returned. If no non-primitive
field with that name could be found at all,
NoMatchingFieldException
is thrown.
fieldName
- the name of the fieldpolicy
- the cache policy to use
IObjectInfo
representing the field, or null according
to policy
java.lang.IllegalStateException
- if this object reference has been invalidated.
GarbageCollectedException
- if the object has been garbage collected.
NoMatchingFieldException
- if no non-primitive field with the given name could be foundLimitedNumber getKeepAliveSize(long stopAt, Policy policy)
stopAt
>= 0 than counting will
stop if the total size is larger than stopAt
.
Note that a cached value below stopAt
will only be returned
if it is lower than the limit in effect when that value was originally
calculated. (That is, if it wasn't limited by the lower limit.)
stopAt
- the limit in bytes for keep alive size calculation, see abovepolicy
- the Policy
to use
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |