summaryrefslogtreecommitdiffstats
path: root/ri/src/main/java/javax/annotation/meta/Exclusive.java
diff options
context:
space:
mode:
Diffstat (limited to 'ri/src/main/java/javax/annotation/meta/Exclusive.java')
-rw-r--r--ri/src/main/java/javax/annotation/meta/Exclusive.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/ri/src/main/java/javax/annotation/meta/Exclusive.java b/ri/src/main/java/javax/annotation/meta/Exclusive.java
new file mode 100644
index 0000000..d018c33
--- /dev/null
+++ b/ri/src/main/java/javax/annotation/meta/Exclusive.java
@@ -0,0 +1,26 @@
+package javax.annotation.meta;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * This annotation can be applied to the value() element of an annotation that
+ * is annotated as a TypeQualifier.
+ *
+ * For example, the following defines a type qualifier such that if you know a
+ * value is {@literal @Foo(1)}, then the value cannot be {@literal @Foo(2)} or {{@literal @Foo(3)}.
+ *
+ * <code>
+ * @TypeQualifier @interface Foo {
+ * @Exclusive int value();
+ * }
+ * </code>
+ *
+ */
+
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Exclusive {
+
+}