net.sf.jelly.apt.decorations
Class DeclarationDecorator

java.lang.Object
  extended by net.sf.jelly.apt.decorations.DeclarationDecorator
All Implemented Interfaces:
com.sun.mirror.util.DeclarationVisitor

public class DeclarationDecorator
extends java.lang.Object
implements com.sun.mirror.util.DeclarationVisitor

Decorates a Declaration when visited.

Author:
Ryan Heaton

Constructor Summary
DeclarationDecorator()
           
 
Method Summary
 DecoratedAnnotationMirror decorate(com.sun.mirror.declaration.AnnotationMirror annotationMirror)
          Decorate an annotation mirror.
static
<D extends com.sun.mirror.declaration.Declaration>
java.util.Collection<D>
decorate(java.util.Collection<D> declarations)
          Decorates a collection of declarations.
static
<D extends com.sun.mirror.declaration.Declaration>
D
decorate(D declaration)
          Decorates a declaration.
static java.util.Collection<com.sun.mirror.declaration.AnnotationMirror> decorateAnnotationMirrors(java.util.Collection<com.sun.mirror.declaration.AnnotationMirror> annotationMirrors)
          Decorates a collection of annotation mirrors.
 com.sun.mirror.declaration.Declaration getDecoratedDeclaration()
          Gets the decorated declaration.
protected static DeclarationDecorator getInstance()
          Gets an instance of TypeMirrorDecorator.
 void visitAnnotationTypeDeclaration(com.sun.mirror.declaration.AnnotationTypeDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitAnnotationTypeElementDeclaration(com.sun.mirror.declaration.AnnotationTypeElementDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitClassDeclaration(com.sun.mirror.declaration.ClassDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitConstructorDeclaration(com.sun.mirror.declaration.ConstructorDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitDeclaration(com.sun.mirror.declaration.Declaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitEnumConstantDeclaration(com.sun.mirror.declaration.EnumConstantDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitEnumDeclaration(com.sun.mirror.declaration.EnumDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitExecutableDeclaration(com.sun.mirror.declaration.ExecutableDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitFieldDeclaration(com.sun.mirror.declaration.FieldDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitInterfaceDeclaration(com.sun.mirror.declaration.InterfaceDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitMemberDeclaration(com.sun.mirror.declaration.MemberDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitMethodDeclaration(com.sun.mirror.declaration.MethodDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitPackageDeclaration(com.sun.mirror.declaration.PackageDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitParameterDeclaration(com.sun.mirror.declaration.ParameterDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitTypeDeclaration(com.sun.mirror.declaration.TypeDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 void visitTypeParameterDeclaration(com.sun.mirror.declaration.TypeParameterDeclaration declaration)
          Decorates declaration and sets it as the decorated declaration.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DeclarationDecorator

public DeclarationDecorator()
Method Detail

getInstance

protected static DeclarationDecorator getInstance()
Gets an instance of TypeMirrorDecorator. If there is a system property named "net.sf.jelly.apt.decorations.DeclarationDecorator" that has a value that is the fully-qualified classname of a class that extends DeclarationDecorator, an attempt will be made to return an instance of that. If for any reason this attempt fails, the system property will be removed and an instance of the default decorator will be returned.

Returns:
an instance of DeclarationDecorator.

decorate

public static <D extends com.sun.mirror.declaration.Declaration> D decorate(D declaration)
Decorates a declaration.

Parameters:
declaration - The declaration to decorate.
Returns:
The decorated declaration.

decorate

public static <D extends com.sun.mirror.declaration.Declaration> java.util.Collection<D> decorate(java.util.Collection<D> declarations)
Decorates a collection of declarations.

Parameters:
declarations - The declarations to decorate.
Returns:
The decorated declarations.

decorateAnnotationMirrors

public static java.util.Collection<com.sun.mirror.declaration.AnnotationMirror> decorateAnnotationMirrors(java.util.Collection<com.sun.mirror.declaration.AnnotationMirror> annotationMirrors)
Decorates a collection of annotation mirrors.

Parameters:
annotationMirrors - The annotation mirrors to decorate.
Returns:
The collection of decorated annotation mirrors.

getDecoratedDeclaration

public com.sun.mirror.declaration.Declaration getDecoratedDeclaration()
Gets the decorated declaration.

Returns:
The decorated declaration, or null if none has been set.

visitDeclaration

public void visitDeclaration(com.sun.mirror.declaration.Declaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitPackageDeclaration

public void visitPackageDeclaration(com.sun.mirror.declaration.PackageDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitPackageDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitMemberDeclaration

public void visitMemberDeclaration(com.sun.mirror.declaration.MemberDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitMemberDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitTypeDeclaration

public void visitTypeDeclaration(com.sun.mirror.declaration.TypeDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitTypeDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitClassDeclaration

public void visitClassDeclaration(com.sun.mirror.declaration.ClassDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitClassDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitEnumDeclaration

public void visitEnumDeclaration(com.sun.mirror.declaration.EnumDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitEnumDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitInterfaceDeclaration

public void visitInterfaceDeclaration(com.sun.mirror.declaration.InterfaceDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitInterfaceDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitAnnotationTypeDeclaration

public void visitAnnotationTypeDeclaration(com.sun.mirror.declaration.AnnotationTypeDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitAnnotationTypeDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitFieldDeclaration

public void visitFieldDeclaration(com.sun.mirror.declaration.FieldDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitFieldDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitEnumConstantDeclaration

public void visitEnumConstantDeclaration(com.sun.mirror.declaration.EnumConstantDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitEnumConstantDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitExecutableDeclaration

public void visitExecutableDeclaration(com.sun.mirror.declaration.ExecutableDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitExecutableDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitConstructorDeclaration

public void visitConstructorDeclaration(com.sun.mirror.declaration.ConstructorDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitConstructorDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitMethodDeclaration

public void visitMethodDeclaration(com.sun.mirror.declaration.MethodDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitMethodDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitAnnotationTypeElementDeclaration

public void visitAnnotationTypeElementDeclaration(com.sun.mirror.declaration.AnnotationTypeElementDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitAnnotationTypeElementDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitParameterDeclaration

public void visitParameterDeclaration(com.sun.mirror.declaration.ParameterDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitParameterDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

visitTypeParameterDeclaration

public void visitTypeParameterDeclaration(com.sun.mirror.declaration.TypeParameterDeclaration declaration)
Decorates declaration and sets it as the decorated declaration.

Specified by:
visitTypeParameterDeclaration in interface com.sun.mirror.util.DeclarationVisitor
Parameters:
declaration - The declaration to decorate.

decorate

public DecoratedAnnotationMirror decorate(com.sun.mirror.declaration.AnnotationMirror annotationMirror)
Decorate an annotation mirror.

Parameters:
annotationMirror - The annotation mirror to decorate.
Returns:
The decorated annotation mirror.