Lombok - v0.10.8

lombok.javac
Class JavacAnnotationHandler<T extends Annotation>

java.lang.Object
  extended by lombok.javac.JavacAnnotationHandler<T>
Direct Known Subclasses:
HandleCleanup, HandleConstructor.HandleAllArgsConstructor, HandleConstructor.HandleNoArgsConstructor, HandleConstructor.HandleRequiredArgsConstructor, HandleData, HandleDelegate, HandleEqualsAndHashCode, HandleGetter, HandleLog.HandleCommonsLog, HandleLog.HandleJulLog, HandleLog.HandleLog4jLog, HandleLog.HandleSlf4jLog, HandlePrintAST, HandleSetter, HandleSneakyThrows, HandleSynchronized, HandleToString

public abstract class JavacAnnotationHandler<T extends Annotation>
extends Object

Implement this interface if you want to be triggered for a specific annotation. You MUST replace 'T' with a specific annotation type, such as: public class HandleGetter implements JavacAnnotationHandler<Getter> Because this generics parameter is inspected to figure out which class you're interested in. You also need to register yourself via SPI discovery as being an implementation of JavacAnnotationHandler.


Constructor Summary
JavacAnnotationHandler()
           
 
Method Summary
abstract  void handle(AnnotationValues<T> annotation, com.sun.tools.javac.tree.JCTree.JCAnnotation ast, JavacNode annotationNode)
          Called when an annotation is found that is likely to match the annotation you're interested in.
 boolean isResolutionBased()
          Return true if this handler requires resolution.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JavacAnnotationHandler

public JavacAnnotationHandler()
Method Detail

handle

public abstract void handle(AnnotationValues<T> annotation,
                            com.sun.tools.javac.tree.JCTree.JCAnnotation ast,
                            JavacNode annotationNode)
Called when an annotation is found that is likely to match the annotation you're interested in. Be aware that you'll be called for ANY annotation node in the source that looks like a match. There is, for example, no guarantee that the annotation node belongs to a method, even if you set your TargetType in the annotation to methods only.

Parameters:
annotation - The actual annotation - use this object to retrieve the annotation parameters.
ast - The javac AST node representing the annotation.
annotationNode - The Lombok AST wrapper around the 'ast' parameter. You can use this object to travel back up the chain (something javac AST can't do) to the parent of the annotation, as well as access useful methods such as generating warnings or errors focused on the annotation.

isResolutionBased

public boolean isResolutionBased()
Return true if this handler requires resolution.


Lombok - v0.10.8

Copyright © 2009-2011 The Project Lombok Authors, licensed under the MIT licence.