Interface DeclaredType

All Superinterfaces:
ReferenceType, TypeMirror
All Known Subinterfaces:
AnnotationType, ClassType, EnumType, InterfaceType

public interface DeclaredType extends ReferenceType
Represents a declared type, either a class type or an interface type. This includes parameterized types such as java.util.Set<String> as well as raw types.

While a TypeDeclaration represents the declaration of a class or interface, a DeclaredType represents a class or interface type, the latter being a use of the former. See TypeDeclaration for more on this distinction.

A DeclaredType may represent a type for which details (declaration, supertypes, etc.) are unknown. This may be the result of a processing error, such as a missing class file, and is indicated by getDeclaration() returning null. Other method invocations on such an unknown type will not, in general, return meaningful results.

Since:
1.5
Version:
1.6 04/06/07
Author:
Joseph D. Darcy, Scott Seligman
  • Method Details

    • getDeclaration

      TypeDeclaration getDeclaration()
      Returns the declaration of this type.

      Returns null if this type's declaration is unknown. This may be the result of a processing error, such as a missing class file.

      Returns:
      the declaration of this type, or null if unknown
    • getContainingType

      DeclaredType getContainingType()
      Returns the type that contains this type as a member. Returns null if this is a top-level type.

      For example, the containing type of O.I<S> is the type O, and the containing type of O<T>.I<S> is the type O<T>.

      Returns:
      the type that contains this type, or null if this is a top-level type
    • getActualTypeArguments

      Collection<TypeMirror> getActualTypeArguments()
      Returns (in order) the actual type arguments of this type. For a generic type nested within another generic type (such as Outer<String>.Inner<Number>), only the type arguments of the innermost type are included.
      Returns:
      the actual type arguments of this type, or an empty collection if there are none
    • getSuperinterfaces

      Collection<InterfaceType> getSuperinterfaces()
      Returns the interface types that are direct supertypes of this type. These are the interface types implemented or extended by this type's declaration, with any type arguments substituted in.

      For example, the interface type extended by java.util.Set<String> is java.util.Collection<String>.

      Returns:
      the interface types that are direct supertypes of this type, or an empty collection if there are none