67 * {@link VMOutOfMemoryException} if the target VM has run out of memory.
68 * <p>
69 * Any method on <code>ReferenceType</code> or which directly or indirectly takes
70 * <code>ReferenceType</code> as parameter may throw
71 * {@link ObjectCollectedException} if the mirrored type has been unloaded.
72 *
73 * @see ObjectReference
74 * @see ObjectReference#referenceType
75 * @see VirtualMachine
76 * @see VirtualMachine#allClasses
77 *
78 * @author Robert Field
79 * @author Gordon Hirsch
80 * @author James McIlree
81 * @since 1.3
82 */
83 public interface ReferenceType
84 extends Type, Comparable<ReferenceType>, Accessible
85 {
86 /**
87 * Gets the fully qualified name of this type. The returned name
88 * is formatted as it might appear in a Java programming langauge
89 * declaration for objects of this type.
90 * <p>
91 * For primitive classes
92 * the returned name is the name of the corresponding primitive
93 * type; for example, "int" is returned as the name of the class
94 * represented by {@link java.lang.Integer#TYPE Integer.TYPE}.
95 * @return a string containing the type name.
96 */
97 String name();
98
99 /**
100 * Gets the generic signature for this type if there is one.
101 * Generic signatures are described in the
102 * <cite>The Java™ Virtual Machine Specification</cite>.
103 *
104 * @return a string containing the generic signature, or <code>null</code>
105 * if there is no generic signature.
106 *
107 * @since 1.5
108 */
109 String genericSignature();
110
111 /**
112 * Gets the classloader object which loaded the class corresponding
113 * to this type.
114 *
115 * @return a {@link ClassLoaderReference} which mirrors the classloader,
|
67 * {@link VMOutOfMemoryException} if the target VM has run out of memory.
68 * <p>
69 * Any method on <code>ReferenceType</code> or which directly or indirectly takes
70 * <code>ReferenceType</code> as parameter may throw
71 * {@link ObjectCollectedException} if the mirrored type has been unloaded.
72 *
73 * @see ObjectReference
74 * @see ObjectReference#referenceType
75 * @see VirtualMachine
76 * @see VirtualMachine#allClasses
77 *
78 * @author Robert Field
79 * @author Gordon Hirsch
80 * @author James McIlree
81 * @since 1.3
82 */
83 public interface ReferenceType
84 extends Type, Comparable<ReferenceType>, Accessible
85 {
86 /**
87 * Returns the name of this {@code ReferenceType} object.
88 * The returned name is the same form as the name returned by
89 * {@link Class#getName()}.
90 *
91 * @return a string containing the type name.
92 * @see Class#getName()
93 */
94 String name();
95
96 /**
97 * Gets the generic signature for this type if there is one.
98 * Generic signatures are described in the
99 * <cite>The Java™ Virtual Machine Specification</cite>.
100 *
101 * @return a string containing the generic signature, or <code>null</code>
102 * if there is no generic signature.
103 *
104 * @since 1.5
105 */
106 String genericSignature();
107
108 /**
109 * Gets the classloader object which loaded the class corresponding
110 * to this type.
111 *
112 * @return a {@link ClassLoaderReference} which mirrors the classloader,
|