Lombok - v0.10.8

lombok.eclipse
Class HandlerLibrary

java.lang.Object
  extended by lombok.eclipse.HandlerLibrary

public class HandlerLibrary
extends Object

This class tracks 'handlers' and knows how to invoke them for any given AST node. This class can find the handlers (via SPI discovery) and will set up the given AST node, such as building an AnnotationValues instance.


Constructor Summary
HandlerLibrary()
          Creates a new HandlerLibrary.
 
Method Summary
 void callASTVisitors(EclipseAST ast)
          Will call all registered EclipseASTVisitor instances.
 void handleAnnotation(org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration ast, EclipseNode annotationNode, org.eclipse.jdt.internal.compiler.ast.Annotation annotation, boolean skipPrintAst)
          Handles the provided annotation node by first finding a qualifying instance of EclipseAnnotationHandler and if one exists, calling it with a freshly cooked up instance of AnnotationValues.
static HandlerLibrary load()
          Creates a new HandlerLibrary.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HandlerLibrary

public HandlerLibrary()
Creates a new HandlerLibrary. Errors will be reported to the Eclipse Error log. You probably want to use load() instead.

Method Detail

load

public static HandlerLibrary load()
Creates a new HandlerLibrary. Errors will be reported to the Eclipse Error log. then uses SPI discovery to load all annotation and visitor based handlers so that future calls to the handle methods will defer to these handlers.


handleAnnotation

public void handleAnnotation(org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration ast,
                             EclipseNode annotationNode,
                             org.eclipse.jdt.internal.compiler.ast.Annotation annotation,
                             boolean skipPrintAst)
Handles the provided annotation node by first finding a qualifying instance of EclipseAnnotationHandler and if one exists, calling it with a freshly cooked up instance of AnnotationValues. Note that depending on the printASTOnly flag, the PrintAST annotation will either be silently skipped, or everything that isn't PrintAST will be skipped. The HandlerLibrary will attempt to guess if the given annotation node represents a lombok annotation. For example, if lombok.* is in the import list, then this method will guess that Getter refers to lombok.Getter, presuming that HandleGetter has been loaded.

Parameters:
ast - The Compilation Unit that contains the Annotation AST Node.
annotationNode - The Lombok AST Node representing the Annotation AST Node.
annotation - 'node.get()' - convenience parameter.

callASTVisitors

public void callASTVisitors(EclipseAST ast)
Will call all registered EclipseASTVisitor instances.


Lombok - v0.10.8

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