Added an AccessLevel.NONE to suppress generating getters and setters (useful in combination with @Data). Addresses issue #37.

This commit is contained in:
Reinier Zwitserloot committed 2009-09-03 02:22:07 +02:00
1 parent c07196d3d2
commit b262ed905a
5 files changed
+11 -1

No files matched your search

+3 -1
View File
@@ -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;
}
@@ -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);
}
@@ -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);
}
@@ -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);
}
@@ -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);
}