Interface TypeDeclaration

All Superinterfaces:
Declaration, MemberDeclaration
All Known Subinterfaces:
AnnotationTypeDeclaration, ClassDeclaration, EnumDeclaration, InterfaceDeclaration

public interface TypeDeclaration extends MemberDeclaration
Represents the declaration of a class or interface. Provides access to information about the type and its members. Note that an enum is a kind of class, and an annotation type is a kind of interface.

While a TypeDeclaration represents the declaration of a class or interface, a DeclaredType represents a class or interface type, the latter being a use (or invocation) of the former. The distinction is most apparent with generic types, for which a single declaration can define a whole family of types. For example, the declaration of java.util.Set corresponds to the parameterized types java.util.Set<String> and java.util.Set<Number> (and many others), and to the raw type java.util.Set.

DeclarationFilter provides a simple way to select just the items of interest when a method returns a collection of declarations.

Since:
1.5
Version:
1.4 04/04/30
Author:
Joseph D. Darcy, Scott Seligman
See Also:
  • Method Details

    • getPackage

      PackageDeclaration getPackage()
      Returns the package within which this type is declared.
      Returns:
      the package within which this type is declared
    • getQualifiedName

      String getQualifiedName()
      Returns the fully qualified name of this class or interface declaration. More precisely, it returns the canonical name. The name of a generic type does not include any reference to its formal type parameters. For example, the the fully qualified name of the interface declaration java.util.Set<E> is "java.util.Set".
      Returns:
      the fully qualified name of this class or interface declaration
    • getFormalTypeParameters

      Collection<TypeParameterDeclaration> getFormalTypeParameters()
      Returns the formal type parameters of this class or interface.
      Returns:
      the formal type parameters, or an empty collection if there are none
    • getSuperinterfaces

      Collection<InterfaceType> getSuperinterfaces()
      Returns the interface types directly implemented by this class or extended by this interface.
      Returns:
      the interface types directly implemented by this class or extended by this interface, or an empty collection if there are none
      See Also:
    • getFields

      Returns the fields that are directly declared by this class or interface. Includes enum constants.
      Returns:
      the fields that are directly declared, or an empty collection if there are none
      See Also:
    • getMethods

      Collection<? extends MethodDeclaration> getMethods()
      Returns the methods that are directly declared by this class or interface. Includes annotation type elements. Excludes implicitly declared methods of an interface, such as toString, that correspond to the methods of java.lang.Object.
      Returns:
      the methods that are directly declared, or an empty collection if there are none
      See Also:
    • getNestedTypes

      Collection<TypeDeclaration> getNestedTypes()
      Returns the declarations of the nested classes and interfaces that are directly declared by this class or interface.
      Returns:
      the declarations of the nested classes and interfaces, or an empty collection if there are none
      See Also: