Interface Declaration

All Known Subinterfaces:
AnnotationTypeDeclaration, AnnotationTypeElementDeclaration, ClassDeclaration, ConstructorDeclaration, EnumConstantDeclaration, EnumDeclaration, ExecutableDeclaration, FieldDeclaration, InterfaceDeclaration, MemberDeclaration, MethodDeclaration, PackageDeclaration, ParameterDeclaration, TypeDeclaration, TypeParameterDeclaration

public interface Declaration
Represents the declaration of a program element such as a package, class, or method. Each declaration represents a static, language-level construct (and not, for example, a runtime construct of the virtual machine), and typically corresponds one-to-one with a particular fragment of source code.

Declarations should be compared using the equals(Object) method. There is no guarantee that any particular declaration will always be represented by the same object.

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

    • equals

      boolean equals(Object obj)
      Tests whether an object represents the same declaration as this.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object to be compared with this declaration
      Returns:
      true if the specified object represents the same declaration as this
    • getDocComment

      String getDocComment()
      Returns the text of the documentation ("javadoc") comment of this declaration.
      Returns:
      the documentation comment of this declaration, or null if there is none
    • getAnnotationMirrors

      Collection<AnnotationMirror> getAnnotationMirrors()
      Returns the annotations that are directly present on this declaration.
      Returns:
      the annotations directly present on this declaration; an empty collection if there are none
    • getAnnotation

      <A extends Annotation> A getAnnotation(Class<A> annotationType)
      Returns the annotation of this declaration having the specified type. The annotation may be either inherited or directly present on this declaration.

      The annotation returned by this method could contain an element whose value is of type Class. This value cannot be returned directly: information necessary to locate and load a class (such as the class loader to use) is not available, and the class might not be loadable at all. Attempting to read a Class object by invoking the relevant method on the returned annotation will result in a MirroredTypeException, from which the corresponding TypeMirror may be extracted. Similarly, attempting to read a Class[]-valued element will result in a MirroredTypesException.

      Note: This method is unlike others in this and related interfaces. It operates on run-time reflective information -- representations of annotation types currently loaded into the VM -- rather than on the mirrored representations defined by and used throughout these interfaces. It is intended for callers that are written to operate on a known, fixed set of annotation types.
      Type Parameters:
      A - the annotation type
      Parameters:
      annotationType - the Class object corresponding to the annotation type
      Returns:
      the annotation of this declaration having the specified type
      See Also:
    • getModifiers

      Collection<Modifier> getModifiers()
      Returns the modifiers of this declaration, excluding annotations. Implicit modifiers, such as the public and static modifiers of interface members, are included.
      Returns:
      the modifiers of this declaration in undefined order; an empty collection if there are none
    • getSimpleName

      String getSimpleName()
      Returns the simple (unqualified) name of this declaration. The name of a generic type does not include any reference to its formal type parameters. For example, the simple name of the interface declaration java.util.Set<E> is "Set". If this declaration represents the empty package, an empty string is returned. If it represents a constructor, the simple name of its declaring class is returned.
      Returns:
      the simple name of this declaration
    • getPosition

      SourcePosition getPosition()
      Returns the source position of the beginning of this declaration. Returns null if the position is unknown or not applicable.

      This source position is intended for use in providing diagnostics, and indicates only approximately where a declaration begins.

      Returns:
      the source position of the beginning of this declaration, or null if the position is unknown or not applicable
    • accept

      void accept(DeclarationVisitor v)
      Applies a visitor to this declaration.
      Parameters:
      v - the visitor operating on this declaration