diff options
author | Reinier Zwitserloot <reinier@tipit.to> | 2009-09-03 02:22:07 +0200 |
---|---|---|
committer | Reinier Zwitserloot <reinier@tipit.to> | 2009-09-03 02:22:07 +0200 |
commit | b262ed905a299215d99664664930b5e013284d63 (patch) | |
tree | 3d156b9c125d8689bd3b7e63a9927e99f884f291 /src | |
parent | c07196d3d2f1e98c90bb05e9f37bcb00892626a2 (diff) | |
download | lombok-b262ed905a299215d99664664930b5e013284d63.tar.gz lombok-b262ed905a299215d99664664930b5e013284d63.tar.bz2 lombok-b262ed905a299215d99664664930b5e013284d63.zip |
Added an AccessLevel.NONE to suppress generating getters and setters (useful in combination with @Data). Addresses issue #37.
Diffstat (limited to 'src')
-rw-r--r-- | src/lombok/AccessLevel.java | 4 | ||||
-rw-r--r-- | src/lombok/eclipse/handlers/HandleGetter.java | 2 | ||||
-rw-r--r-- | src/lombok/eclipse/handlers/HandleSetter.java | 2 | ||||
-rw-r--r-- | src/lombok/javac/handlers/HandleGetter.java | 2 | ||||
-rw-r--r-- | src/lombok/javac/handlers/HandleSetter.java | 2 |
5 files changed, 11 insertions, 1 deletions
diff --git a/src/lombok/AccessLevel.java b/src/lombok/AccessLevel.java index 973b3c18..16edd108 100644 --- a/src/lombok/AccessLevel.java +++ b/src/lombok/AccessLevel.java @@ -25,5 +25,7 @@ package lombok; * Represents an AccessLevel. Used e.g. to specify the access level for generated methods and fields. */ public enum AccessLevel { - PUBLIC, MODULE, PROTECTED, PACKAGE, PRIVATE; + PUBLIC, MODULE, PROTECTED, PACKAGE, PRIVATE, + /** Represents not generating anything or the complete lack of a method. */ + NONE; } diff --git a/src/lombok/eclipse/handlers/HandleGetter.java b/src/lombok/eclipse/handlers/HandleGetter.java index 2ba3876a..e83b2cc5 100644 --- a/src/lombok/eclipse/handlers/HandleGetter.java +++ b/src/lombok/eclipse/handlers/HandleGetter.java @@ -77,6 +77,8 @@ public class HandleGetter implements EclipseAnnotationHandler<Getter> { public boolean handle(AnnotationValues<Getter> annotation, Annotation ast, Node annotationNode) { Node fieldNode = annotationNode.up(); AccessLevel level = annotation.getInstance().value(); + if ( level == AccessLevel.NONE ) return true; + return createGetterForField(level, fieldNode, annotationNode, annotationNode.get(), true); } diff --git a/src/lombok/eclipse/handlers/HandleSetter.java b/src/lombok/eclipse/handlers/HandleSetter.java index 8c47a43b..636226bd 100644 --- a/src/lombok/eclipse/handlers/HandleSetter.java +++ b/src/lombok/eclipse/handlers/HandleSetter.java @@ -85,6 +85,8 @@ public class HandleSetter implements EclipseAnnotationHandler<Setter> { Node fieldNode = annotationNode.up(); if ( fieldNode.getKind() != Kind.FIELD ) return false; AccessLevel level = annotation.getInstance().value(); + if ( level == AccessLevel.NONE ) return true; + return createSetterForField(level, fieldNode, annotationNode, annotationNode.get(), true); } diff --git a/src/lombok/javac/handlers/HandleGetter.java b/src/lombok/javac/handlers/HandleGetter.java index 7fddc0e9..47cd3095 100644 --- a/src/lombok/javac/handlers/HandleGetter.java +++ b/src/lombok/javac/handlers/HandleGetter.java @@ -79,6 +79,8 @@ public class HandleGetter implements JavacAnnotationHandler<Getter> { @Override public boolean handle(AnnotationValues<Getter> annotation, JCAnnotation ast, Node annotationNode) { Node fieldNode = annotationNode.up(); AccessLevel level = annotation.getInstance().value(); + if ( level == AccessLevel.NONE ) return true; + return createGetterForField(level, fieldNode, annotationNode, annotationNode.get(), true); } diff --git a/src/lombok/javac/handlers/HandleSetter.java b/src/lombok/javac/handlers/HandleSetter.java index 253b0325..44ad0dca 100644 --- a/src/lombok/javac/handlers/HandleSetter.java +++ b/src/lombok/javac/handlers/HandleSetter.java @@ -82,6 +82,8 @@ public class HandleSetter implements JavacAnnotationHandler<Setter> { @Override public boolean handle(AnnotationValues<Setter> annotation, JCAnnotation ast, Node annotationNode) { Node fieldNode = annotationNode.up(); AccessLevel level = annotation.getInstance().value(); + if ( level == AccessLevel.NONE ) return true; + return createSetterForField(level, fieldNode, annotationNode, annotationNode.get(), true); } |