FileDocCategorySizeDatePackage
Declaration.javaAPI DocJava SE 5 API5190Fri Aug 26 14:55:14 BST 2005com.sun.mirror.declaration

Declaration

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 {@link #equals(Object)} method. There is no guarantee that any particular declaration will always be represented by the same object.

author
Joseph D. Darcy
author
Scott Seligman
version
1.6 04/07/16
see
Declarations
see
TypeMirror
since
1.5

Fields Summary
Constructors Summary
Methods Summary
public voidaccept(com.sun.mirror.util.DeclarationVisitor v)
Applies a visitor to this declaration.

param
v the visitor operating on this declaration

public booleanequals(java.lang.Object obj)
Tests whether an object represents the same declaration as this.

param
obj the object to be compared with this declaration
return
true if the specified object represents the same declaration as this

public AgetAnnotation(java.lang.Class 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 {@link MirroredTypeException}, from which the corresponding {@link TypeMirror} may be extracted. Similarly, attempting to read a Class[]-valued element will result in a {@link 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.

param
the annotation type
param
annotationType the Class object corresponding to the annotation type
return
the annotation of this declaration having the specified type
see
#getAnnotationMirrors()

public java.util.CollectiongetAnnotationMirrors()
Returns the annotations that are directly present on this declaration.

return
the annotations directly present on this declaration; an empty collection if there are none

public java.lang.StringgetDocComment()
Returns the text of the documentation ("javadoc") comment of this declaration.

return
the documentation comment of this declaration, or null if there is none

public java.util.CollectiongetModifiers()
Returns the modifiers of this declaration, excluding annotations. Implicit modifiers, such as the public and static modifiers of interface members, are included.

return
the modifiers of this declaration in undefined order; an empty collection if there are none

public com.sun.mirror.util.SourcePositiongetPosition()
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.

return
the source position of the beginning of this declaration, or null if the position is unknown or not applicable

public java.lang.StringgetSimpleName()
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 {@code java.util.Set} 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.

return
the simple name of this declaration