aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/lombok/core/handlers/TransformationsUtil.java2
-rw-r--r--test/transform/resource/after-delombok/NonNullPlain.java37
-rw-r--r--test/transform/resource/after-ecj/NonNullPlain.java31
-rw-r--r--test/transform/resource/after-eclipse/NonNullPlain.java31
-rw-r--r--test/transform/resource/before/NonNullPlain.java17
-rw-r--r--website/features/GetterSetter.html2
6 files changed, 100 insertions, 20 deletions
diff --git a/src/core/lombok/core/handlers/TransformationsUtil.java b/src/core/lombok/core/handlers/TransformationsUtil.java
index 50c1ca02..3c1fc421 100644
--- a/src/core/lombok/core/handlers/TransformationsUtil.java
+++ b/src/core/lombok/core/handlers/TransformationsUtil.java
@@ -72,7 +72,7 @@ public class TransformationsUtil {
public static final Pattern PRIMITIVE_TYPE_NAME_PATTERN = Pattern.compile(
"^(boolean|byte|short|int|long|float|double|char)$");
- public static final Pattern NON_NULL_PATTERN = Pattern.compile("^nonnull$", Pattern.CASE_INSENSITIVE);
+ public static final Pattern NON_NULL_PATTERN = Pattern.compile("^(?:notnull|nonnull)$", Pattern.CASE_INSENSITIVE);
public static final Pattern NULLABLE_PATTERN = Pattern.compile("^(?:nullable|checkfornull)$", Pattern.CASE_INSENSITIVE);
/**
diff --git a/test/transform/resource/after-delombok/NonNullPlain.java b/test/transform/resource/after-delombok/NonNullPlain.java
index 0c58425c..17c9ab51 100644
--- a/test/transform/resource/after-delombok/NonNullPlain.java
+++ b/test/transform/resource/after-delombok/NonNullPlain.java
@@ -1,25 +1,60 @@
+import java.lang.annotation.*;
+
class NonNullPlain {
@lombok.NonNull
int i;
@lombok.NonNull
String s;
+ @NotNull
+ Object o;
+
+ @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
+ @Retention(RetentionPolicy.CLASS)
+ public @interface NotNull {
+ }
+
+ @java.beans.ConstructorProperties({"i", "s", "o"})
@java.lang.SuppressWarnings("all")
- public void setI(@lombok.NonNull final int i) {
+ public NonNullPlain(@lombok.NonNull final int i, @lombok.NonNull final String s, @NotNull final Object o) {
+ if (s == null) throw new java.lang.NullPointerException("s");
+ if (o == null) throw new java.lang.NullPointerException("o");
this.i = i;
+ this.s = s;
+ this.o = o;
}
+
@lombok.NonNull
@java.lang.SuppressWarnings("all")
public int getI() {
return this.i;
}
+
@lombok.NonNull
@java.lang.SuppressWarnings("all")
public String getS() {
return this.s;
}
+
+ @NotNull
+ @java.lang.SuppressWarnings("all")
+ public Object getO() {
+ return this.o;
+ }
+
+ @java.lang.SuppressWarnings("all")
+ public void setI(@lombok.NonNull final int i) {
+ this.i = i;
+ }
+
@java.lang.SuppressWarnings("all")
public void setS(@lombok.NonNull final String s) {
if (s == null) throw new java.lang.NullPointerException("s");
this.s = s;
}
+
+ @java.lang.SuppressWarnings("all")
+ public void setO(@NotNull final Object o) {
+ if (o == null) throw new java.lang.NullPointerException("o");
+ this.o = o;
+ }
}
diff --git a/test/transform/resource/after-ecj/NonNullPlain.java b/test/transform/resource/after-ecj/NonNullPlain.java
index 6f552436..252a2077 100644
--- a/test/transform/resource/after-ecj/NonNullPlain.java
+++ b/test/transform/resource/after-ecj/NonNullPlain.java
@@ -1,8 +1,19 @@
-class NonNullPlain {
- @lombok.Setter @lombok.NonNull @lombok.Getter int i;
- @lombok.Getter @lombok.Setter @lombok.NonNull String s;
- public @java.lang.SuppressWarnings("all") void setI(final @lombok.NonNull int i) {
+import java.lang.annotation.*;
+@lombok.RequiredArgsConstructor @lombok.Getter @lombok.Setter class NonNullPlain {
+ public @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE}) @Retention(RetentionPolicy.CLASS) @interface NotNull {
+ }
+ @lombok.NonNull int i;
+ @lombok.NonNull String s;
+ @NotNull Object o;
+ public @java.beans.ConstructorProperties({"i", "s", "o"}) @java.lang.SuppressWarnings("all") NonNullPlain(final @lombok.NonNull int i, final @lombok.NonNull String s, final @NotNull Object o) {
+ super();
+ if ((s == null))
+ throw new java.lang.NullPointerException("s");
+ if ((o == null))
+ throw new java.lang.NullPointerException("o");
this.i = i;
+ this.s = s;
+ this.o = o;
}
public @lombok.NonNull @java.lang.SuppressWarnings("all") int getI() {
return this.i;
@@ -10,12 +21,20 @@ class NonNullPlain {
public @lombok.NonNull @java.lang.SuppressWarnings("all") String getS() {
return this.s;
}
+ public @NotNull @java.lang.SuppressWarnings("all") Object getO() {
+ return this.o;
+ }
+ public @java.lang.SuppressWarnings("all") void setI(final @lombok.NonNull int i) {
+ this.i = i;
+ }
public @java.lang.SuppressWarnings("all") void setS(final @lombok.NonNull String s) {
if ((s == null))
throw new java.lang.NullPointerException("s");
this.s = s;
}
- NonNullPlain() {
- super();
+ public @java.lang.SuppressWarnings("all") void setO(final @NotNull Object o) {
+ if ((o == null))
+ throw new java.lang.NullPointerException("o");
+ this.o = o;
}
} \ No newline at end of file
diff --git a/test/transform/resource/after-eclipse/NonNullPlain.java b/test/transform/resource/after-eclipse/NonNullPlain.java
index 6f552436..252a2077 100644
--- a/test/transform/resource/after-eclipse/NonNullPlain.java
+++ b/test/transform/resource/after-eclipse/NonNullPlain.java
@@ -1,8 +1,19 @@
-class NonNullPlain {
- @lombok.Setter @lombok.NonNull @lombok.Getter int i;
- @lombok.Getter @lombok.Setter @lombok.NonNull String s;
- public @java.lang.SuppressWarnings("all") void setI(final @lombok.NonNull int i) {
+import java.lang.annotation.*;
+@lombok.RequiredArgsConstructor @lombok.Getter @lombok.Setter class NonNullPlain {
+ public @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE}) @Retention(RetentionPolicy.CLASS) @interface NotNull {
+ }
+ @lombok.NonNull int i;
+ @lombok.NonNull String s;
+ @NotNull Object o;
+ public @java.beans.ConstructorProperties({"i", "s", "o"}) @java.lang.SuppressWarnings("all") NonNullPlain(final @lombok.NonNull int i, final @lombok.NonNull String s, final @NotNull Object o) {
+ super();
+ if ((s == null))
+ throw new java.lang.NullPointerException("s");
+ if ((o == null))
+ throw new java.lang.NullPointerException("o");
this.i = i;
+ this.s = s;
+ this.o = o;
}
public @lombok.NonNull @java.lang.SuppressWarnings("all") int getI() {
return this.i;
@@ -10,12 +21,20 @@ class NonNullPlain {
public @lombok.NonNull @java.lang.SuppressWarnings("all") String getS() {
return this.s;
}
+ public @NotNull @java.lang.SuppressWarnings("all") Object getO() {
+ return this.o;
+ }
+ public @java.lang.SuppressWarnings("all") void setI(final @lombok.NonNull int i) {
+ this.i = i;
+ }
public @java.lang.SuppressWarnings("all") void setS(final @lombok.NonNull String s) {
if ((s == null))
throw new java.lang.NullPointerException("s");
this.s = s;
}
- NonNullPlain() {
- super();
+ public @java.lang.SuppressWarnings("all") void setO(final @NotNull Object o) {
+ if ((o == null))
+ throw new java.lang.NullPointerException("o");
+ this.o = o;
}
} \ No newline at end of file
diff --git a/test/transform/resource/before/NonNullPlain.java b/test/transform/resource/before/NonNullPlain.java
index 265b8c5a..a438d1d4 100644
--- a/test/transform/resource/before/NonNullPlain.java
+++ b/test/transform/resource/before/NonNullPlain.java
@@ -1,10 +1,17 @@
+import java.lang.annotation.*;
+
+@lombok.RequiredArgsConstructor
+@lombok.Getter
+@lombok.Setter
class NonNullPlain {
- @lombok.Setter
@lombok.NonNull
- @lombok.Getter int i;
-
- @lombok.Getter
- @lombok.Setter
+ int i;
@lombok.NonNull
String s;
+ @NotNull
+ Object o;
+
+ @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
+ @Retention(RetentionPolicy.CLASS)
+ public @interface NotNull {}
} \ No newline at end of file
diff --git a/website/features/GetterSetter.html b/website/features/GetterSetter.html
index 3e3530ef..51a1f514 100644
--- a/website/features/GetterSetter.html
+++ b/website/features/GetterSetter.html
@@ -58,7 +58,7 @@
Any variation on <code>boolean</code> will <em>not</em> result in using the <code>is</code> prefix instead of the <code>get</code> prefix; for example,
returning <code>java.lang.Boolean</code> results in a <code>get</code> prefix, not an <code>is</code> prefix.
</p><p>
- Any annotations named <code>@NonNull</code> (case insensitive) on the field are interpreted as: This field must not ever hold
+ Any annotations named <code>@NonNull</code> or <code>@NotNull</code> (case insensitive) on the field are interpreted as: This field must not ever hold
<em>null</em>. Therefore, these annotations result in an explicit null check in the generated setter. Also, these
annotations (as well as any annotation named <code>@Nullable</code> or <code>@CheckForNull</code>) are copied to setter parameter and getter method.
</p><p>