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

## com.sun.jdi
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
`ReferenceType` | `declaringType()` Returns the type in which this component was declared.
`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 JNI-style signature for this type component.

Methods inherited from interface com.sun.jdi.Mirror
`toString, virtualMachine`

Methods inherited from interface com.sun.jdi.Accessible
`isPackagePrivate, isPrivate, isProtected, isPublic, modifiers`

Method Detail

### name

    public 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

    public String signature()

  Gets the JNI-style 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
  See Also:
    Type Signatures

### declaringType

    public 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.

### isStatic

    public 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

    public 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

    public 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.

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