lombok.javac.handlers
Class HandleGetter
java.lang.Object
lombok.javac.handlers.HandleGetter
- All Implemented Interfaces:
- JavacAnnotationHandler<Getter>
@ProviderFor(value=JavacAnnotationHandler.class)
public class HandleGetter
- extends java.lang.Object
- implements JavacAnnotationHandler<Getter>
Handles the lombok.Getter annotation for javac.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HandleGetter
public HandleGetter()
generateGetterForType
public boolean generateGetterForType(JavacNode typeNode,
JavacNode errorNode,
AccessLevel level,
boolean checkForTypeLevelGetter)
fieldQualifiesForGetterGeneration
public boolean fieldQualifiesForGetterGeneration(JavacNode field)
generateGetterForField
public void generateGetterForField(JavacNode fieldNode,
com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition pos,
AccessLevel level)
- Generates a getter on the stated field.
Used by
HandleData.
The difference between this call and the handle method is as follows:
If there is a lombok.Getter annotation on the field, it is used and the
same rules apply (e.g. warning if the method already exists, stated access level applies).
If not, the getter is still generated if it isn't already there, though there will not
be a warning if its already there. The default access level is used.
- Parameters:
fieldNode - The node representing the field you want a getter for.pos - The node responsible for generating the getter (the @Data or @Getter annotation).
handle
public boolean handle(AnnotationValues<Getter> annotation,
com.sun.tools.javac.tree.JCTree.JCAnnotation ast,
JavacNode annotationNode)
- Description copied from interface:
JavacAnnotationHandler
- 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.
- Specified by:
handle in interface JavacAnnotationHandler<Getter>
- 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.
- Returns:
true if you don't want to be called again about this annotation during this
compile session (you've handled it), or false to indicate you aren't done yet.
Copyright © 2009 Reinier Zwitserloot and Roel Spilker, licensed under the MIT licence.