# Uses of Interface
com.sun.mirror.declaration.Declaration

Packages that use Declaration
Package
Description
com.sun.mirror.apt
Classes used to communicate information between annotation processors and an annotation processing tool.
com.sun.mirror.declaration
Interfaces used to model program element declarations.
com.sun.mirror.util
Utilities to assist in the processing of declarations and types.

## Uses of Declaration in com.sun.mirror.apt

Methods in com.sun.mirror.apt that return types with arguments of type Declaration
Modifier and Type
Method
Description
`Collection<Declaration>`
AnnotationProcessorEnvironment.`getDeclarationsAnnotatedWith(AnnotationTypeDeclaration a)`
Returns the declarations annotated with the given annotation type.

## Uses of Declaration in com.sun.mirror.declaration

Subinterfaces of Declaration in com.sun.mirror.declaration
Modifier and Type
Interface
Description
`interface`
`AnnotationTypeDeclaration`
Represents the declaration of an annotation type.
`interface`
`AnnotationTypeElementDeclaration`
Represents an element of an annotation type.
`interface`
`ClassDeclaration`
Represents the declaration of a class.
`interface`
`ConstructorDeclaration`
Represents a constructor of a class or interface.
`interface`
`EnumConstantDeclaration`
Represents an enum constant declaration.
`interface`
`EnumDeclaration`
Represents the declaration of an enum type.
`interface`
`ExecutableDeclaration`
Represents a method or constructor of a class or interface.
`interface`
`FieldDeclaration`
Represents a field of a type declaration.
`interface`
`InterfaceDeclaration`
Represents the declaration of an interface.
`interface`
`MemberDeclaration`
Represents a declaration that may be a member or constructor of a declared type.
`interface`
`MethodDeclaration`
Represents a method of a class or interface.
`interface`
`PackageDeclaration`
Represents the declaration of a package.
`interface`
`ParameterDeclaration`
Represents a formal parameter of a method or constructor.
`interface`
`TypeDeclaration`
Represents the declaration of a class or interface.
`interface`
`TypeParameterDeclaration`
Represents a formal type parameter of a generic type, method, or constructor declaration.
Methods in com.sun.mirror.declaration that return Declaration
Modifier and Type
Method
Description
`Declaration`
TypeParameterDeclaration.`getOwner()`
Returns the type, method, or constructor declaration within which this type parameter is declared.

## Uses of Declaration in com.sun.mirror.util

Methods in com.sun.mirror.util with type parameters of type Declaration
Modifier and Type
Method
Description
`<D extends Declaration>
Collection<D>`
DeclarationFilter.`filter(Collection<? extends Declaration> decls, Class<D> resType)`
Returns the declarations matched by this filter, with the result being restricted to declarations of a given kind.
`<D extends Declaration>
Collection<D>`
DeclarationFilter.`filter(Collection<D> decls)`
Returns the declarations matched by this filter.
Methods in com.sun.mirror.util with parameters of type Declaration
Modifier and Type
Method
Description
`boolean`
DeclarationFilter.`matches(Declaration decl)`
Tests whether this filter matches a given declaration.
`void`
DeclarationVisitor.`visitDeclaration(Declaration d)`
Visits a declaration.
`void`
SimpleDeclarationVisitor.`visitDeclaration(Declaration d)`
Visits a declaration.
Method parameters in com.sun.mirror.util with type arguments of type Declaration
Modifier and Type
Method
Description
`<D extends Declaration>
Collection<D>`
DeclarationFilter.`filter(Collection<? extends Declaration> decls, Class<D> resType)`
Returns the declarations matched by this filter, with the result being restricted to declarations of a given kind.
`static DeclarationFilter`
DeclarationFilter.`getFilter(Class<? extends Declaration> kind)`
Returns a filter that selects declarations of a particular kind.