Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.ibm.dtfj.java
Interface JavaReference

    public interface JavaReference

Represents a Java reference.

Author:
  nhardman

Field Summary
`static int` | `HEAP_ROOT_CLASSLOADER` Classloader heap root
`static int` | `HEAP_ROOT_FINALIZABLE_OBJ` Finalizable object heap root
`static int` | `HEAP_ROOT_JNI_GLOBAL` JNI global reference heap root
`static int` | `HEAP_ROOT_JNI_LOCAL` JNI local reference heap root
`static int` | `HEAP_ROOT_MONITOR` Monitor heap root
`static int` | `HEAP_ROOT_OTHER` Other heap root type
`static int` | `HEAP_ROOT_STACK_LOCAL` Stack local heap root
`static int` | `HEAP_ROOT_STRINGTABLE` Stringtable heap root
`static int` | `HEAP_ROOT_SYSTEM_CLASS` System class heap root
`static int` | `HEAP_ROOT_THREAD` Thread heap root
`static int` | `HEAP_ROOT_UNFINALIZED_OBJ` Unfinalized object heap root
`static int` | `HEAP_ROOT_UNKNOWN` Unknown heap root type
`static int` | `REACHABILITY_PHANTOM` Reachability of target object via this reference is Phantom
`static int` | `REACHABILITY_SOFT` Reachability of target object via this reference is Soft
`static int` | `REACHABILITY_STRONG` Reachability of target object via this reference is Strong
`static int` | `REACHABILITY_UNKNOWN` Reachability of target object via this reference is unknown
`static int` | `REACHABILITY_WEAK` Reachability of target object via this reference is Weak
`static int` | `REFERENCE_ARRAY_ELEMENT` Reference from an array to one of its elements
`static int` | `REFERENCE_CLASS` Reference from an object to its class
`static int` | `REFERENCE_CLASS_LOADER` Reference from a class to its class loader
`static int` | `REFERENCE_CONSTANT_POOL` Reference from a class to a resolved entry in the constant pool
`static int` | `REFERENCE_FIELD` Reference from an object to the value of one of its instance fields
`static int` | `REFERENCE_INTERFACE` Reference from a class to one of its interfaces
`static int` | `REFERENCE_PROTECTION_DOMAIN` Reference from a class to its protection domain
`static int` | `REFERENCE_SIGNERS` Reference from a class to its signers array
`static int` | `REFERENCE_STATIC_FIELD` Reference from a class to the value of one of its static fields
`static int` | `REFERENCE_SUPERCLASS` Reference from a class to its superclass
`static int` | `REFERENCE_UNKNOWN` Unknown reference type

Method Summary
`java.lang.String` | `getDescription()` Get a string describing the reference type.
`int` | `getReachability()` Get the reachability of the target object via this specific reference.
`int` | `getReferenceType()` Get the reference type, as defined in the JVMTI specification.
`int` | `getRootType()` Get the root type, as defined in the JVMTI specification.
`java.lang.Object` | `getSource()` Get the source of this reference if available.
`java.lang.Object` | `getTarget()` Get the object referred to by this reference.
`boolean` | `isClassReference()` Does this reference point to a class?
`boolean` | `isObjectReference()` Does this reference point to an object in the heap?

Field Detail

### HEAP_ROOT_UNKNOWN

    static final int HEAP_ROOT_UNKNOWN

  Unknown heap root type

  See Also:
    Constant Field Values

### HEAP_ROOT_JNI_GLOBAL

    static final int HEAP_ROOT_JNI_GLOBAL

  JNI global reference heap root

  See Also:
    Constant Field Values

### HEAP_ROOT_SYSTEM_CLASS

    static final int HEAP_ROOT_SYSTEM_CLASS

  System class heap root

  See Also:
    Constant Field Values

### HEAP_ROOT_MONITOR

    static final int HEAP_ROOT_MONITOR

  Monitor heap root

  See Also:
    Constant Field Values

### HEAP_ROOT_STACK_LOCAL

    static final int HEAP_ROOT_STACK_LOCAL

  Stack local heap root

  See Also:
    Constant Field Values

### HEAP_ROOT_JNI_LOCAL

    static final int HEAP_ROOT_JNI_LOCAL

  JNI local reference heap root

  See Also:
    Constant Field Values

### HEAP_ROOT_THREAD

    static final int HEAP_ROOT_THREAD

  Thread heap root

  See Also:
    Constant Field Values

### HEAP_ROOT_OTHER

    static final int HEAP_ROOT_OTHER

  Other heap root type

  See Also:
    Constant Field Values

### HEAP_ROOT_FINALIZABLE_OBJ

    static final int HEAP_ROOT_FINALIZABLE_OBJ

  Finalizable object heap root

  See Also:
    Constant Field Values

### HEAP_ROOT_UNFINALIZED_OBJ

    static final int HEAP_ROOT_UNFINALIZED_OBJ

  Unfinalized object heap root

  See Also:
    Constant Field Values

### HEAP_ROOT_CLASSLOADER

    static final int HEAP_ROOT_CLASSLOADER

  Classloader heap root

  See Also:
    Constant Field Values

### HEAP_ROOT_STRINGTABLE

    static final int HEAP_ROOT_STRINGTABLE

  Stringtable heap root

  See Also:
    Constant Field Values

### REFERENCE_UNKNOWN

    static final int REFERENCE_UNKNOWN

  Unknown reference type

  See Also:
    Constant Field Values

### REFERENCE_CLASS

    static final int REFERENCE_CLASS

  Reference from an object to its class

  See Also:
    Constant Field Values

### REFERENCE_FIELD

    static final int REFERENCE_FIELD

  Reference from an object to the value of one of its instance fields

  See Also:
    Constant Field Values

### REFERENCE_ARRAY_ELEMENT

    static final int REFERENCE_ARRAY_ELEMENT

  Reference from an array to one of its elements

  See Also:
    Constant Field Values

### REFERENCE_CLASS_LOADER

    static final int REFERENCE_CLASS_LOADER

  Reference from a class to its class loader

  See Also:
    Constant Field Values

### REFERENCE_SIGNERS

    static final int REFERENCE_SIGNERS

  Reference from a class to its signers array

  See Also:
    Constant Field Values

### REFERENCE_PROTECTION_DOMAIN

    static final int REFERENCE_PROTECTION_DOMAIN

  Reference from a class to its protection domain

  See Also:
    Constant Field Values

### REFERENCE_INTERFACE

    static final int REFERENCE_INTERFACE

  Reference from a class to one of its interfaces

  See Also:
    Constant Field Values

### REFERENCE_STATIC_FIELD

    static final int REFERENCE_STATIC_FIELD

  Reference from a class to the value of one of its static fields

  See Also:
    Constant Field Values

### REFERENCE_CONSTANT_POOL

    static final int REFERENCE_CONSTANT_POOL

  Reference from a class to a resolved entry in the constant pool

  See Also:
    Constant Field Values

### REFERENCE_SUPERCLASS

    static final int REFERENCE_SUPERCLASS

  Reference from a class to its superclass

  See Also:
    Constant Field Values

### REACHABILITY_UNKNOWN

    static final int REACHABILITY_UNKNOWN

  Reachability of target object via this reference is unknown

  See Also:
    Constant Field Values

### REACHABILITY_STRONG

    static final int REACHABILITY_STRONG

  Reachability of target object via this reference is Strong

  See Also:
    Constant Field Values

### REACHABILITY_SOFT

    static final int REACHABILITY_SOFT

  Reachability of target object via this reference is Soft

  See Also:
    Constant Field Values

### REACHABILITY_WEAK

    static final int REACHABILITY_WEAK

  Reachability of target object via this reference is Weak

  See Also:
    Constant Field Values

### REACHABILITY_PHANTOM

    static final int REACHABILITY_PHANTOM

  Reachability of target object via this reference is Phantom

  See Also:
    Constant Field Values

Method Detail

### getRootType

    int getRootType()
                    throws CorruptDataException

  Get the root type, as defined in the JVMTI specification.

  Returns:
    an integer representing the root type, see HEAP_ROOT_ statics above.
  Throws:
    `CorruptDataException`

### getReferenceType

    int getReferenceType()
                         throws CorruptDataException

  Get the reference type, as defined in the JVMTI specification.

  Returns:
    an integer representing the reference type, see REFERENCE_ statics above.
  Throws:
    `CorruptDataException`

### getReachability

    int getReachability()
                        throws CorruptDataException

  Get the reachability of the target object via this specific reference.

  Returns:
    an integer representing the reachability, see REACHABILITY_ statics above.
  Throws:
    `CorruptDataException`

### getDescription

    java.lang.String getDescription()

  Get a string describing the reference type. Implementors should not depend on the contents or identity of this string. e.g. "JNI Weak global reference", "Instance field 'MyClass.value'", "Constant pool string constant"

  Returns:
    a String describing the reference type

### isObjectReference

    boolean isObjectReference()
                              throws DataUnavailable,
                                     CorruptDataException

  Does this reference point to an object in the heap?

  Returns:
    true if the target of this root is an object
  Throws:
    `DataUnavailable`
    `CorruptDataException`

### isClassReference

    boolean isClassReference()
                             throws DataUnavailable,
                                    CorruptDataException

  Does this reference point to a class?

  Returns:
    true if the target of this root is a class
  Throws:
    `DataUnavailable`
    `CorruptDataException`

### getTarget

    java.lang.Object getTarget()
                               throws DataUnavailable,
                                      CorruptDataException

  Get the object referred to by this reference.

  Returns:
    a JavaObject or a JavaClass
  Throws:
    `DataUnavailable`
    `CorruptDataException`

### getSource

    java.lang.Object getSource()
                               throws DataUnavailable,
                                      CorruptDataException

  Get the source of this reference if available.

  Returns:
    a JavaClass, JavaObject, JavaStackFrame or null if unknown
  Throws:
    `DataUnavailable`
    `CorruptDataException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD