Interface TypeComponent

All Superinterfaces:
Accessible, Mirror
All Known Subinterfaces:
Field, Method
public interface TypeComponent extends Mirror, Accessible
An entity declared within a user defined type (class or interface). This interface is the root of the type component hierarchy which includes Field and Method. Type components of the same name declared in different classes (including those related by inheritance) have different TypeComponent objects. TypeComponents can be used alone to retrieve static information about their declaration, or can be used in conjunction with a ReferenceType or ObjectReference to access values or invoke, as applicable.
Since:
1.3

Method Summary

Modifier and Type Method Description
ReferenceType declaringType()
Returns the type in which this component was declared.
String genericSignature()
Gets the generic signature for this TypeComponent if there is one.
boolean isFinal()
Determines if this TypeComponent is final.
boolean isStatic()
Determines if this TypeComponent is static.
boolean isSynthetic()
Determines if this TypeComponent is synthetic.
String name()
Gets the name of this type component.
String signature()
Gets the type signature for this type component.

Methods declared in interface com.sun.jdi.Accessible

isPackagePrivate, isPrivate, isProtected, isPublic, modifiers

Methods declared in interface com.sun.jdi.Mirror

toString, virtualMachine

Method Details

name

String name()
Gets the name of this type component.

Note: for fields, this is the field name; for methods, this is the method name; for constructors, this is <init>; for static initializers, this is <clinit>.

Returns:
a string containing the name.

signature

String signature()
Gets the type signature for this type component. The signature is encoded type information as defined in the JNI documentation. It is a convenient, compact format for for manipulating type information internally, not necessarily for display to an end user. See Field.typeName() and Method.returnTypeName() for ways to help get a more readable representation of the type.
Returns:
a string containing the signature

genericSignature

String genericSignature()
Gets the generic signature for this TypeComponent if there is one. Generic signatures are described in the The Java Virtual Machine Specification.
Returns:
a string containing the generic signature, or null if there is no generic signature.
Since:
1.5

declaringType

ReferenceType declaringType()
Returns the type in which this component was declared. The returned ReferenceType mirrors either a class or an interface in the target VM.
Returns:
a ReferenceType for the type that declared this type component.

isStatic

boolean isStatic()
Determines if this TypeComponent is static. Return value is undefined for constructors and static initializers.
Returns:
true if this type component was declared static; false otherwise.

isFinal

boolean isFinal()
Determines if this TypeComponent is final. Return value is undefined for constructors and static initializers.
Returns:
true if this type component was declared final; false otherwise.

isSynthetic

boolean isSynthetic()
Determines if this TypeComponent is synthetic. Synthetic members are generated by the compiler and are not present in the source code for the containing class.

Not all target VMs support this query. See VirtualMachine.canGetSyntheticAttribute() to determine if the operation is supported.

Returns:
true if this type component is synthetic; false otherwise.
Throws:
UnsupportedOperationException - if the target VM cannot provide information on synthetic attributes.

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/jdk.jdi/com/sun/jdi/TypeComponent.html