From b262ed905a299215d99664664930b5e013284d63 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Thu, 3 Sep 2009 02:22:07 +0200 Subject: Added an AccessLevel.NONE to suppress generating getters and setters (useful in combination with @Data). Addresses issue #37. --- src/lombok/AccessLevel.java | 4 +++- src/lombok/eclipse/handlers/HandleGetter.java | 2 ++ src/lombok/eclipse/handlers/HandleSetter.java | 2 ++ src/lombok/javac/handlers/HandleGetter.java | 2 ++ src/lombok/javac/handlers/HandleSetter.java | 2 ++ 5 files changed, 11 insertions(+), 1 deletion(-) 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 { public boolean handle(AnnotationValues 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 { 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 { @Override public boolean handle(AnnotationValues 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 { @Override public boolean handle(AnnotationValues 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); } -- cgit