com.google.gwt.core.ext.typeinfo

## Interface JType

All Known Subinterfaces:
  JAnnotationType, JArrayType, JClassType, JEnumType, JGenericType, JParameterizedType, JRawType, JRealClassType, JTypeParameter, JWildcardType

All Known Implementing Classes:
  JPrimitiveType

    public interface JType

Super interface for types.

### Method Summary

All Methods Instance Methods Abstract Methods
`JType` `getErasedType()` Returns this type with no type parameters or type variables.
`java.lang.String` `getJNISignature()` Returns the "field descriptor" for a type as specified by the Java Virtual Machine Specification.
`JType` `getLeafType()` For array types, recursively looks for the element type that is not an array.
`java.lang.String` `getParameterizedQualifiedSourceName()` Returns a type name as it would be specified in Java source, with the package name included.
`java.lang.String` `getQualifiedBinaryName()` A binary type name as specified by the Java Language Spec, ThirdEdition.
`java.lang.String` `getQualifiedSourceName()` Returns a type name as it would be specified in Java source, with the package name included.
`java.lang.String` `getSimpleSourceName()` Returns the name of this class without the package name or enclosing class name.
`JAnnotationType` `isAnnotation()` Returns this instance as a `JAnnotationType` if it is an annotation or `null` if it is not.
`JArrayType` `isArray()`
`JClassType` `isClass()` Returns this instance if the erased version of this type is a class (as opposed to a primitive, array, or interface) or `null` if it is not.
`JClassType` `isClassOrInterface()` Returns this instance if the erased version of this type is a class or interface (as opposed to a primitive or array array) or `null` if it is not.
`JEnumType` `isEnum()` Returns this instance if it is an enumeration or `null` if it is not.
`JGenericType` `isGenericType()` Returns this instance if it is a real class that has type parameters or `null` if it is not.
`JClassType` `isInterface()` Returns this instance if it is an interface or `null` if it is not.
`JParameterizedType` `isParameterized()` Returns this instance as a `JParameterizedType` if it is a parameterized type or `null` if it is not.
`JPrimitiveType` `isPrimitive()`
`JRawType` `isRawType()` Returns the raw type if this is a `JRawType`, otherwise returns `null`.
`JTypeParameter` `isTypeParameter()`
`JWildcardType` `isWildcard()`

### Method Detail

#### getErasedType

    JType getErasedType()

Returns this type with no type parameters or type variables. See the JLS Third Edition section on Type Erasure.

#### getJNISignature

    java.lang.String getJNISignature()

Returns the "field descriptor" for a type as specified by the Java Virtual Machine Specification. Examples:

- boolean = `Z`
- byte[] = `[B`
- java.lang.String = `Ljava/lang/String;`

#### getLeafType

    JType getLeafType()

For array types, recursively looks for the element type that is not an array. Otherwise, returns this type.

#### getParameterizedQualifiedSourceName

    java.lang.String getParameterizedQualifiedSourceName()

Returns a type name as it would be specified in Java source, with the package name included. Includes the type parameters. If called on a type parameter, does not include any bounds. For example, a type Foo<T extends Bar> declared in com.example would be given as "com.example.Foo<T>", while the same type instantiated with Baz would be "com.example.Foo<com.example.Baz>".

#### getQualifiedBinaryName

    java.lang.String getQualifiedBinaryName()

A binary type name as specified by the Java Language Spec, ThirdEdition.

#### getQualifiedSourceName

    java.lang.String getQualifiedSourceName()

Returns a type name as it would be specified in Java source, with the package name included. Does not include the type parameters. If called on a type parameter, includes any bounds.

#### getSimpleSourceName

    java.lang.String getSimpleSourceName()

Returns the name of this class without the package name or enclosing class name.

#### isAnnotation

    JAnnotationType isAnnotation()

Returns this instance as a `JAnnotationType` if it is an annotation or `null` if it is not.

#### isArray

    JArrayType isArray()

#### isClass

    JClassType isClass()

Returns this instance if the erased version of this type is a class (as opposed to a primitive, array, or interface) or `null` if it is not.

#### isClassOrInterface

    JClassType isClassOrInterface()

Returns this instance if the erased version of this type is a class or interface (as opposed to a primitive or array array) or `null` if it is not.

#### isEnum

    JEnumType isEnum()

Returns this instance if it is an enumeration or `null` if it is not.

#### isGenericType

    JGenericType isGenericType()

Returns this instance if it is a real class that has type parameters or `null` if it is not.

#### isInterface

    JClassType isInterface()

Returns this instance if it is an interface or `null` if it is not.

#### isParameterized

    JParameterizedType isParameterized()

Returns this instance as a `JParameterizedType` if it is a parameterized type or `null` if it is not.

#### isPrimitive

    JPrimitiveType isPrimitive()

#### isRawType

    JRawType isRawType()

Returns the raw type if this is a `JRawType`, otherwise returns `null`.

#### isTypeParameter

    JTypeParameter isTypeParameter()

#### isWildcard

    JWildcardType isWildcard()