summaryrefslogtreecommitdiffstats
path: root/ri/src/main/java/javax/annotation/Nonnull.java
diff options
context:
space:
mode:
Diffstat (limited to 'ri/src/main/java/javax/annotation/Nonnull.java')
-rw-r--r--ri/src/main/java/javax/annotation/Nonnull.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/ri/src/main/java/javax/annotation/Nonnull.java b/ri/src/main/java/javax/annotation/Nonnull.java
new file mode 100644
index 0000000..4b7aad9
--- /dev/null
+++ b/ri/src/main/java/javax/annotation/Nonnull.java
@@ -0,0 +1,26 @@
+package javax.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.annotation.meta.TypeQualifier;
+import javax.annotation.meta.TypeQualifierValidator;
+import javax.annotation.meta.When;
+
+@Documented
+@TypeQualifier
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Nonnull {
+ When when() default When.ALWAYS;
+
+ static class Checker implements TypeQualifierValidator<Nonnull> {
+
+ public When forConstantValue(Nonnull qualifierqualifierArgument,
+ Object value) {
+ if (value == null)
+ return When.NEVER;
+ return When.ALWAYS;
+ }
+ }
+}