59 * may be a subclass of the declared class.
60 *
61 * @return a string containing the JNI signature of array components.
62 */
63 String componentSignature();
64
65 /**
66 * Returns a text representation of the component
67 * type of this array.
68 *
69 * @return a text representation of the component type.
70 */
71 String componentTypeName();
72
73 /**
74 * Returns the component type of this array,
75 * as specified in the array declaration.
76 * <P>
77 * Note: The component type of a array will always be
78 * created or loaded before the array - see
79 * <cite>The Java™ Virtual Machine Specification</cite>,
80 * section 5.3.3 - Creating Array Classes.
81 * However, although the component type will be loaded it may
82 * not yet be prepared, in which case the type will be returned
83 * but attempts to perform some operations on the returned type
84 * (e.g. {@link ReferenceType#fields() fields()}) will throw
85 * a {@link ClassNotPreparedException}.
86 * Use {@link ReferenceType#isPrepared()} to determine if
87 * a reference type is prepared.
88 *
89 * @see Type
90 * @see Field#type() Field.type() - for usage examples
91 * @return the {@link Type} of this array's components.
92 */
93 Type componentType() throws ClassNotLoadedException;
94 }
|
59 * may be a subclass of the declared class.
60 *
61 * @return a string containing the JNI signature of array components.
62 */
63 String componentSignature();
64
65 /**
66 * Returns a text representation of the component
67 * type of this array.
68 *
69 * @return a text representation of the component type.
70 */
71 String componentTypeName();
72
73 /**
74 * Returns the component type of this array,
75 * as specified in the array declaration.
76 * <P>
77 * Note: The component type of a array will always be
78 * created or loaded before the array - see
79 * <cite>The Java Virtual Machine Specification</cite>,
80 * section 5.3.3 - Creating Array Classes.
81 * However, although the component type will be loaded it may
82 * not yet be prepared, in which case the type will be returned
83 * but attempts to perform some operations on the returned type
84 * (e.g. {@link ReferenceType#fields() fields()}) will throw
85 * a {@link ClassNotPreparedException}.
86 * Use {@link ReferenceType#isPrepared()} to determine if
87 * a reference type is prepared.
88 *
89 * @see Type
90 * @see Field#type() Field.type() - for usage examples
91 * @return the {@link Type} of this array's components.
92 */
93 Type componentType() throws ClassNotLoadedException;
94 }
|