net.sf.jelly.apt.decorations
Class TypeMirrorDecorator

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

public class TypeMirrorDecorator
extends java.lang.Object
implements com.sun.mirror.util.TypeVisitor

Decorates a TypeMirror when visited.

Author:
Ryan Heaton

Constructor Summary
TypeMirrorDecorator()
           
 
Method Summary
static
<T extends com.sun.mirror.type.TypeMirror>
java.util.Collection<T>
decorate(java.util.Collection<T> typeMirrors)
          Decorate a collection fo type mirrors.
static
<T extends com.sun.mirror.type.TypeMirror>
T
decorate(T typeMirror)
          Decorate a type mirror.
 com.sun.mirror.type.TypeMirror getDecoratedTypeMirror()
          Get the decorated type mirror.
protected static TypeMirrorDecorator getInstance()
          Gets an instance of TypeMirrorDecorator.
 void visitAnnotationType(com.sun.mirror.type.AnnotationType typeMirror)
          Decorates typeMirror and sets it as the decorated type mirror.
 void visitArrayType(com.sun.mirror.type.ArrayType typeMirror)
          Decorates typeMirror and sets it as the decorated type mirror.
 void visitClassType(com.sun.mirror.type.ClassType typeMirror)
          Decorates typeMirror and sets it as the decorated type mirror.
 void visitDeclaredType(com.sun.mirror.type.DeclaredType typeMirror)
          Decorates typeMirror and sets it as the decorated type mirror.
 void visitEnumType(com.sun.mirror.type.EnumType typeMirror)
          Decorates typeMirror and sets it as the decorated type mirror.
 void visitInterfaceType(com.sun.mirror.type.InterfaceType typeMirror)
          Decorates typeMirror and sets it as the decorated type mirror.
 void visitPrimitiveType(com.sun.mirror.type.PrimitiveType typeMirror)
          Decorates typeMirror and sets it as the decorated type mirror.
 void visitReferenceType(com.sun.mirror.type.ReferenceType typeMirror)
          Decorates typeMirror and sets it as the decorated type mirror.
 void visitTypeMirror(com.sun.mirror.type.TypeMirror typeMirror)
          Decorates typeMirror and sets it as the decorated type mirror.
 void visitTypeVariable(com.sun.mirror.type.TypeVariable typeMirror)
          Decorates typeMirror and sets it as the decorated type mirror.
 void visitVoidType(com.sun.mirror.type.VoidType typeMirror)
          Decorates typeMirror and sets it as the decorated type mirror.
 void visitWildcardType(com.sun.mirror.type.WildcardType typeMirror)
          Decorates typeMirror and sets it as the decorated type mirror.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TypeMirrorDecorator

public TypeMirrorDecorator()
Method Detail

getInstance

protected static TypeMirrorDecorator getInstance()
Gets an instance of TypeMirrorDecorator. If there is a system property named "net.sf.jelly.apt.decorations.TypeMirrorDecorator" that has a value that is the fully-qualified classname of a class that extends TypeMirrorDecorator, 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 TypeMirrorDecorator.

decorate

public static <T extends com.sun.mirror.type.TypeMirror> T decorate(T typeMirror)
Decorate a type mirror.

Parameters:
typeMirror - The mirror to decorate.
Returns:
The decorated type mirror.

decorate

public static <T extends com.sun.mirror.type.TypeMirror> java.util.Collection<T> decorate(java.util.Collection<T> typeMirrors)
Decorate a collection fo type mirrors.

Parameters:
typeMirrors - The type mirrors to decorate.
Returns:
The collection of decorated type mirrors.

getDecoratedTypeMirror

public com.sun.mirror.type.TypeMirror getDecoratedTypeMirror()
Get the decorated type mirror.

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

visitTypeMirror

public void visitTypeMirror(com.sun.mirror.type.TypeMirror typeMirror)
Decorates typeMirror and sets it as the decorated type mirror.

Specified by:
visitTypeMirror in interface com.sun.mirror.util.TypeVisitor
Parameters:
typeMirror - The declaration to decorate.

visitPrimitiveType

public void visitPrimitiveType(com.sun.mirror.type.PrimitiveType typeMirror)
Decorates typeMirror and sets it as the decorated type mirror.

Specified by:
visitPrimitiveType in interface com.sun.mirror.util.TypeVisitor
Parameters:
typeMirror - The declaration to decorate.

visitVoidType

public void visitVoidType(com.sun.mirror.type.VoidType typeMirror)
Decorates typeMirror and sets it as the decorated type mirror.

Specified by:
visitVoidType in interface com.sun.mirror.util.TypeVisitor
Parameters:
typeMirror - The declaration to decorate.

visitReferenceType

public void visitReferenceType(com.sun.mirror.type.ReferenceType typeMirror)
Decorates typeMirror and sets it as the decorated type mirror.

Specified by:
visitReferenceType in interface com.sun.mirror.util.TypeVisitor
Parameters:
typeMirror - The declaration to decorate.

visitDeclaredType

public void visitDeclaredType(com.sun.mirror.type.DeclaredType typeMirror)
Decorates typeMirror and sets it as the decorated type mirror.

Specified by:
visitDeclaredType in interface com.sun.mirror.util.TypeVisitor
Parameters:
typeMirror - The declaration to decorate.

visitClassType

public void visitClassType(com.sun.mirror.type.ClassType typeMirror)
Decorates typeMirror and sets it as the decorated type mirror.

Specified by:
visitClassType in interface com.sun.mirror.util.TypeVisitor
Parameters:
typeMirror - The declaration to decorate.

visitEnumType

public void visitEnumType(com.sun.mirror.type.EnumType typeMirror)
Decorates typeMirror and sets it as the decorated type mirror.

Specified by:
visitEnumType in interface com.sun.mirror.util.TypeVisitor
Parameters:
typeMirror - The declaration to decorate.

visitInterfaceType

public void visitInterfaceType(com.sun.mirror.type.InterfaceType typeMirror)
Decorates typeMirror and sets it as the decorated type mirror.

Specified by:
visitInterfaceType in interface com.sun.mirror.util.TypeVisitor
Parameters:
typeMirror - The declaration to decorate.

visitAnnotationType

public void visitAnnotationType(com.sun.mirror.type.AnnotationType typeMirror)
Decorates typeMirror and sets it as the decorated type mirror.

Specified by:
visitAnnotationType in interface com.sun.mirror.util.TypeVisitor
Parameters:
typeMirror - The declaration to decorate.

visitArrayType

public void visitArrayType(com.sun.mirror.type.ArrayType typeMirror)
Decorates typeMirror and sets it as the decorated type mirror.

Specified by:
visitArrayType in interface com.sun.mirror.util.TypeVisitor
Parameters:
typeMirror - The declaration to decorate.

visitTypeVariable

public void visitTypeVariable(com.sun.mirror.type.TypeVariable typeMirror)
Decorates typeMirror and sets it as the decorated type mirror.

Specified by:
visitTypeVariable in interface com.sun.mirror.util.TypeVisitor
Parameters:
typeMirror - The declaration to decorate.

visitWildcardType

public void visitWildcardType(com.sun.mirror.type.WildcardType typeMirror)
Decorates typeMirror and sets it as the decorated type mirror.

Specified by:
visitWildcardType in interface com.sun.mirror.util.TypeVisitor
Parameters:
typeMirror - The declaration to decorate.