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
    See Also:
    DeclaredType
    • Method Detail

      • 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:
        DeclarationFilter
      • getFields

        Collection<FieldDeclaration> 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:
        DeclarationFilter
      • 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:
        DeclarationFilter
      • 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:
        DeclarationFilter