Commit: cabf457c094f6764a03e02d0e51ca786ba6cf060
Author: Christoph M. Becker <[email protected]> Tue, 1 Oct 2019
16:11:56 +0200
Parents: d93ae5c801a89c1b286fae3eb85868c98b127ac4
Branches: master
Link:
http://git.php.net/?p=pftt2.git;a=commitdiff;h=cabf457c094f6764a03e02d0e51ca786ba6cf060
Log:
Replace some sources with jsr305-3.0.0.jar
Changed paths:
M .classpath
M bin/pftt
M bin/pftt.cmd
A lib/jsr305-3.0.0.jar
D src/javax/annotation/CheckForNull.java
D src/javax/annotation/CheckForSigned.java
D src/javax/annotation/CheckReturnValue.java
D src/javax/annotation/Detainted.java
D src/javax/annotation/MatchesPattern.java
D src/javax/annotation/Nonnegative.java
D src/javax/annotation/Nonnull.java
D src/javax/annotation/Nullable.java
D src/javax/annotation/OverridingMethodsMustInvokeSuper.java
D src/javax/annotation/ParametersAreNonnullByDefault.java
D src/javax/annotation/ParametersAreNullableByDefault.java
D src/javax/annotation/PropertyKey.java
D src/javax/annotation/RegEx.java
D src/javax/annotation/Signed.java
D src/javax/annotation/Syntax.java
D src/javax/annotation/Tainted.java
D src/javax/annotation/Untainted.java
D src/javax/annotation/WillClose.java
D src/javax/annotation/WillCloseWhenClosed.java
D src/javax/annotation/WillNotClose.java
D src/javax/annotation/concurrent/GuardedBy.java
D src/javax/annotation/concurrent/Immutable.java
D src/javax/annotation/concurrent/NotThreadSafe.java
D src/javax/annotation/concurrent/ThreadSafe.java
D src/javax/annotation/meta/Exclusive.java
D src/javax/annotation/meta/Exhaustive.java
D src/javax/annotation/meta/TypeQualifier.java
D src/javax/annotation/meta/TypeQualifierDefault.java
D src/javax/annotation/meta/TypeQualifierNickname.java
D src/javax/annotation/meta/TypeQualifierValidator.java
D src/javax/annotation/meta/When.java
diff --git a/.classpath b/.classpath
index b7163907..d368a3e9 100644
--- a/.classpath
+++ b/.classpath
@@ -61,5 +61,6 @@
<classpathentry kind="lib" path="lib/windowsazure-websites-0.5.0.jar"/>
<classpathentry kind="lib" path="lib/java-diff-1.1.2.jar"/>
<classpathentry kind="lib" path="lib/kxml2-2.3.0.jar"/>
+ <classpathentry kind="lib" path="lib/jsr305-3.0.0.jar"/>
<classpathentry kind="output" path="build"/>
</classpath>
diff --git a/bin/pftt b/bin/pftt
index 62f87c61..78b875ef 100644
--- a/bin/pftt
+++ b/bin/pftt
@@ -62,6 +62,7 @@ $PFTT_LIB/sshd-core-1.1.1.jar;\
$PFTT_LIB/windowsazure-core-0.5.0.jar;\
$PFTT_LIB/windowsazure-websites-0.5.0.jar;\
$PFTT_LIB/java-diff-1.1.2.jar;\
-$PFTT_LIB/kxml2-2.3.0.jar
+$PFTT_LIB/kxml2-2.3.0.jar;\
+$PFTT_LIB/jsr305-3.0.0.jar
java -classpath $CLASSPATH com.mostc.pftt.main.PfttMain $*
diff --git a/bin/pftt.cmd b/bin/pftt.cmd
index 10a7fe91..c5e8656e 100644
--- a/bin/pftt.cmd
+++ b/bin/pftt.cmd
@@ -63,7 +63,8 @@ SET CLASSPATH=^
%PFTT_LIB%\windowsazure-core-0.5.0.jar;^
%PFTT_LIB%\windowsazure-websites-0.5.0.jar;^
%PFTT_LIB%\java-diff-1.1.2.jar;^
-%PFTT_LIB%\kxml2-2.3.0.jar
+%PFTT_LIB%\kxml2-2.3.0.jar;^
+%PFTT_LIB%\jsr305-3.0.0.jar
REM this might be also controlled by environment, if needed
IF EXIST %PFTT_LIB%\pftt2.jar (
diff --git a/lib/jsr305-3.0.0.jar b/lib/jsr305-3.0.0.jar
new file mode 100644
index 00000000..cc39b738
Binary files /dev/null and b/lib/jsr305-3.0.0.jar differ
diff --git a/src/javax/annotation/CheckForNull.java
b/src/javax/annotation/CheckForNull.java
deleted file mode 100644
index 6fe52005..00000000
--- a/src/javax/annotation/CheckForNull.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-import javax.annotation.meta.TypeQualifierNickname;
-import javax.annotation.meta.When;
-
-@Documented
-@TypeQualifierNickname
-@Nonnull(when = When.MAYBE)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface CheckForNull {
-
-}
diff --git a/src/javax/annotation/CheckForSigned.java
b/src/javax/annotation/CheckForSigned.java
deleted file mode 100644
index f3bc5975..00000000
--- a/src/javax/annotation/CheckForSigned.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-import javax.annotation.meta.TypeQualifierNickname;
-import javax.annotation.meta.When;
-
-/**
- * Used to annotate a value that may be either negative or nonnegative, and
- * indicates that uses of it should check for
- * negative values before using it in a way that requires the value to be
- * nonnegative, and check for it being nonnegative before using it in a way
that
- * requires it to be negative.
- */
-
-@Documented
-@TypeQualifierNickname
-@Nonnegative(when = When.MAYBE)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface CheckForSigned {
-
-}
diff --git a/src/javax/annotation/CheckReturnValue.java
b/src/javax/annotation/CheckReturnValue.java
deleted file mode 100644
index 370fa381..00000000
--- a/src/javax/annotation/CheckReturnValue.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.annotation.meta.When;
-
-@Documented
-@Target( { ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.TYPE,
- ElementType.PACKAGE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface CheckReturnValue {
- When when() default When.ALWAYS;
-}
diff --git a/src/javax/annotation/Detainted.java
b/src/javax/annotation/Detainted.java
deleted file mode 100644
index d8620f2f..00000000
--- a/src/javax/annotation/Detainted.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-import javax.annotation.meta.TypeQualifierNickname;
-import javax.annotation.meta.When;
-
-@Documented
-@TypeQualifierNickname
-@Untainted(when = When.ALWAYS)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Detainted {
-
-}
diff --git a/src/javax/annotation/MatchesPattern.java
b/src/javax/annotation/MatchesPattern.java
deleted file mode 100644
index 775d21c3..00000000
--- a/src/javax/annotation/MatchesPattern.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.util.regex.Pattern;
-
-import javax.annotation.meta.TypeQualifier;
-import javax.annotation.meta.TypeQualifierValidator;
-import javax.annotation.meta.When;
-
-@Documented
-@TypeQualifier(applicableTo = String.class)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface MatchesPattern {
- @RegEx
- String value();
-
- int flags() default 0;
-
- static class Checker implements TypeQualifierValidator<MatchesPattern> {
- public When forConstantValue(MatchesPattern annotation, Object value) {
- Pattern p = Pattern.compile(annotation.value(),
annotation.flags());
- if (p.matcher(((String) value)).matches())
- return When.ALWAYS;
- return When.NEVER;
- }
-
- }
-}
diff --git a/src/javax/annotation/Nonnegative.java
b/src/javax/annotation/Nonnegative.java
deleted file mode 100644
index 21d17938..00000000
--- a/src/javax/annotation/Nonnegative.java
+++ /dev/null
@@ -1,41 +0,0 @@
-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;
-
-/** Used to annotate a value that should only contain nonnegative values */
-@Documented
-@TypeQualifier(applicableTo = Number.class)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Nonnegative {
- When when() default When.ALWAYS;
-
- class Checker implements TypeQualifierValidator<Nonnegative> {
-
- public When forConstantValue(Nonnegative annotation, Object v) {
- if (!(v instanceof Number))
- return When.NEVER;
- boolean isNegative;
- Number value = (Number) v;
- if (value instanceof Long)
- isNegative = value.longValue() < 0;
- else if (value instanceof Double)
- isNegative = value.doubleValue() < 0;
- else if (value instanceof Float)
- isNegative = value.floatValue() < 0;
- else
- isNegative = value.intValue() < 0;
-
- if (isNegative)
- return When.NEVER;
- else
- return When.ALWAYS;
-
- }
- }
-}
diff --git a/src/javax/annotation/Nonnull.java
b/src/javax/annotation/Nonnull.java
deleted file mode 100644
index 4b7aad97..00000000
--- a/src/javax/annotation/Nonnull.java
+++ /dev/null
@@ -1,26 +0,0 @@
-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;
- }
- }
-}
diff --git a/src/javax/annotation/Nullable.java
b/src/javax/annotation/Nullable.java
deleted file mode 100644
index d31993db..00000000
--- a/src/javax/annotation/Nullable.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-import javax.annotation.meta.TypeQualifierNickname;
-import javax.annotation.meta.When;
-
-@Documented
-@TypeQualifierNickname
-@Nonnull(when = When.UNKNOWN)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Nullable {
-
-}
diff --git a/src/javax/annotation/OverridingMethodsMustInvokeSuper.java
b/src/javax/annotation/OverridingMethodsMustInvokeSuper.java
deleted file mode 100644
index 4e3344e8..00000000
--- a/src/javax/annotation/OverridingMethodsMustInvokeSuper.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * When this annotation is applied to a method, it indicates that if this
method
- * is overridden in a subclass, the overriding method should invoke this method
- * (through method invocation on super).
- *
- */
-@Documented
-@Target( { ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface OverridingMethodsMustInvokeSuper {
-
-}
diff --git a/src/javax/annotation/ParametersAreNonnullByDefault.java
b/src/javax/annotation/ParametersAreNonnullByDefault.java
deleted file mode 100644
index 6424b873..00000000
--- a/src/javax/annotation/ParametersAreNonnullByDefault.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-import javax.annotation.meta.TypeQualifierDefault;
-
-/**
- * This annotation can be applied to a package, class or method to indicate
that
- * the method parameters in that element are nonnull by default unless there
is:
- * <ul>
- * <li>An explicit nullness annotation
- * <li>The method overrides a method in a superclass (in which case the
- * annotation of the corresponding parameter in the superclass applies)
- * <li> there is a default parameter annotation applied to a more tightly
nested
- * element.
- * </ul>
- *
- */
-@Documented
-@Nonnull
-@TypeQualifierDefault(ElementType.PARAMETER)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface ParametersAreNonnullByDefault {
-}
diff --git a/src/javax/annotation/ParametersAreNullableByDefault.java
b/src/javax/annotation/ParametersAreNullableByDefault.java
deleted file mode 100644
index 01d4d806..00000000
--- a/src/javax/annotation/ParametersAreNullableByDefault.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-import javax.annotation.meta.TypeQualifierDefault;
-
-/**
- * This annotation can be applied to a package, class or method to indicate
that
- * the method parameters in that element are nullable by default unless there
is:
- * <ul>
- * <li>An explicit nullness annotation
- * <li>The method overrides a method in a superclass (in which case the
- * annotation of the corresponding parameter in the superclass applies)
- * <li> there is a default parameter annotation applied to a more tightly
nested
- * element.
- * </ul>
- * <p>This annotation implies the same "nullness" as no annotation. However,
it is different
- * than having no annotation, as it is inherited and it can override a
ParametersAreNonnullByDefault
- * annotation at an outer scope.
- *
- */
-@Documented
-@Nullable
-@TypeQualifierDefault(ElementType.PARAMETER)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface ParametersAreNullableByDefault {
-}
diff --git a/src/javax/annotation/PropertyKey.java
b/src/javax/annotation/PropertyKey.java
deleted file mode 100644
index 780782d9..00000000
--- a/src/javax/annotation/PropertyKey.java
+++ /dev/null
@@ -1,15 +0,0 @@
-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.When;
-
-@Documented
-@TypeQualifier
-@Retention(RetentionPolicy.RUNTIME)
-public @interface PropertyKey {
- When when() default When.ALWAYS;
-}
diff --git a/src/javax/annotation/RegEx.java b/src/javax/annotation/RegEx.java
deleted file mode 100644
index 21697a76..00000000
--- a/src/javax/annotation/RegEx.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-import javax.annotation.meta.TypeQualifierNickname;
-import javax.annotation.meta.TypeQualifierValidator;
-import javax.annotation.meta.When;
-
-/**
- * This qualifier is used to denote String values that should be a Regular
- * expression.
- *
- */
-@Documented
-@Syntax("RegEx")
-@TypeQualifierNickname
-@Retention(RetentionPolicy.RUNTIME)
-public @interface RegEx {
- When when() default When.ALWAYS;
-
- static class Checker implements TypeQualifierValidator<RegEx> {
-
- public When forConstantValue(RegEx annotation, Object value) {
- if (!(value instanceof String))
- return When.NEVER;
-
- try {
- Pattern.compile((String) value);
- } catch (PatternSyntaxException e) {
- return When.NEVER;
- }
- return When.ALWAYS;
-
- }
-
- }
-
-}
diff --git a/src/javax/annotation/Signed.java b/src/javax/annotation/Signed.java
deleted file mode 100644
index 2c2fa062..00000000
--- a/src/javax/annotation/Signed.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-import javax.annotation.meta.TypeQualifierNickname;
-import javax.annotation.meta.When;
-
-/** Used to annotate a value of unknown sign */
-
-@Documented
-@TypeQualifierNickname
-@Nonnegative(when = When.UNKNOWN)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Signed {
-
-}
diff --git a/src/javax/annotation/Syntax.java b/src/javax/annotation/Syntax.java
deleted file mode 100644
index fa0586d0..00000000
--- a/src/javax/annotation/Syntax.java
+++ /dev/null
@@ -1,44 +0,0 @@
-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.When;
-
-/**
- * This annotation a value that is of a particular syntax, such as Java syntax
- * or regular expression syntax. This can be used to provide syntax checking of
- * constant values at compile time, run time checking at runtime, and can
assist
- * IDEs in deciding how to interpret String constants (e.g., should a
- * refactoring that renames method x() to y() update the String constant
"x()").
- *
- *
- */
-@Documented
-@TypeQualifier(applicableTo = CharSequence.class)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Syntax {
- /**
- * Value indicating the particular syntax denoted by this annotation.
- * Different tools will recognize different syntaxes, but some proposed
- * canonical values are:
- * <ul>
- * <li> "Java"
- * <li> "RegEx"
- * <li> "JavaScript"
- * <li> "Ruby"
- * <li> "Groovy"
- * <li> "SQL"
- * <li> "FormatString"
- * </ul>
- *
- * Syntax names can be followed by a colon and a list of key value pairs,
- * separated by commas. For example, "SQL:dialect=Oracle,version=2.3".
Tools
- * should ignore any keys they don't recognize.
- */
- String value();
-
- When when() default When.ALWAYS;
-}
diff --git a/src/javax/annotation/Tainted.java
b/src/javax/annotation/Tainted.java
deleted file mode 100644
index 6715d700..00000000
--- a/src/javax/annotation/Tainted.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-import javax.annotation.meta.TypeQualifierNickname;
-import javax.annotation.meta.When;
-
-@Documented
-@TypeQualifierNickname
-@Untainted(when = When.MAYBE)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Tainted {
-
-}
diff --git a/src/javax/annotation/Untainted.java
b/src/javax/annotation/Untainted.java
deleted file mode 100644
index 4a26a492..00000000
--- a/src/javax/annotation/Untainted.java
+++ /dev/null
@@ -1,15 +0,0 @@
-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.When;
-
-@Documented
-@TypeQualifier
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Untainted {
- When when() default When.ALWAYS;
-}
diff --git a/src/javax/annotation/WillClose.java
b/src/javax/annotation/WillClose.java
deleted file mode 100644
index 9ea70cfb..00000000
--- a/src/javax/annotation/WillClose.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-@Documented
-@Retention(RetentionPolicy.RUNTIME)
-/**
- * Used to annotate a method parameter to indicate that this method will close
- * the resource.
- */
-public @interface WillClose {
-
-}
diff --git a/src/javax/annotation/WillCloseWhenClosed.java
b/src/javax/annotation/WillCloseWhenClosed.java
deleted file mode 100644
index 13c927d6..00000000
--- a/src/javax/annotation/WillCloseWhenClosed.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-@Documented
-@Retention(RetentionPolicy.RUNTIME)
-/**
- * Used to annotate a constructor/factory parameter to indicate that returned
- * object (X) will close the resource when X is closed.
- */
-public @interface WillCloseWhenClosed {
-
-}
diff --git a/src/javax/annotation/WillNotClose.java
b/src/javax/annotation/WillNotClose.java
deleted file mode 100644
index d698b7c2..00000000
--- a/src/javax/annotation/WillNotClose.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package javax.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-@Documented
-@Retention(RetentionPolicy.RUNTIME)
-/**
- * Used to annotate a method parameter to indicate that this method will not
- * close the resource.
- */
-public @interface WillNotClose {
-
-}
diff --git a/src/javax/annotation/concurrent/GuardedBy.java
b/src/javax/annotation/concurrent/GuardedBy.java
deleted file mode 100644
index 9d6641da..00000000
--- a/src/javax/annotation/concurrent/GuardedBy.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package javax.annotation.concurrent;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/*
- * Copyright (c) 2005 Brian Goetz
- * Released under the Creative Commons Attribution License
- * (http://creativecommons.org/licenses/by/2.5)
- * Official home: http://www.jcip.net
- */
-
-/**
- * GuardedBy
- *
- * The field or method to which this annotation is applied can only be accessed
- * when holding a particular lock, which may be a built-in (synchronization)
- * lock, or may be an explicit java.util.concurrent.Lock.
- *
- * The argument determines which lock guards the annotated field or method:
this :
- * The string literal "this" means that this field is guarded by the class in
- * which it is defined. class-name.this : For inner classes, it may be
necessary
- * to disambiguate 'this'; the class-name.this designation allows you to
specify
- * which 'this' reference is intended itself : For reference fields only; the
- * object to which the field refers. field-name : The lock object is referenced
- * by the (instance or static) field specified by field-name.
- * class-name.field-name : The lock object is reference by the static field
- * specified by class-name.field-name. method-name() : The lock object is
- * returned by calling the named nil-ary method. class-name.class : The Class
- * object for the specified class should be used as the lock object.
- */
-@Target( { ElementType.FIELD, ElementType.METHOD })
-@Retention(RetentionPolicy.CLASS)
-public @interface GuardedBy {
- String value();
-}
diff --git a/src/javax/annotation/concurrent/Immutable.java
b/src/javax/annotation/concurrent/Immutable.java
deleted file mode 100644
index 03f1cb58..00000000
--- a/src/javax/annotation/concurrent/Immutable.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package javax.annotation.concurrent;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/*
- * Copyright (c) 2005 Brian Goetz
- * Released under the Creative Commons Attribution License
- * (http://creativecommons.org/licenses/by/2.5)
- * Official home: http://www.jcip.net
- */
-
-/**
- * Immutable
- *
- * The class to which this annotation is applied is immutable. This means that
- * its state cannot be seen to change by callers. Of necessity this means that
- * all public fields are final, and that all public final reference fields
refer
- * to other immutable objects, and that methods do not publish references to
any
- * internal state which is mutable by implementation even if not by design.
- * Immutable objects may still have internal mutable state for purposes of
- * performance optimization; some state variables may be lazily computed, so
- * long as they are computed from immutable state and that callers cannot tell
- * the difference.
- *
- * Immutable objects are inherently thread-safe; they may be passed between
- * threads or published without synchronization.
- */
-@Documented
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.CLASS)
-public @interface Immutable {
-}
diff --git a/src/javax/annotation/concurrent/NotThreadSafe.java
b/src/javax/annotation/concurrent/NotThreadSafe.java
deleted file mode 100644
index d9481426..00000000
--- a/src/javax/annotation/concurrent/NotThreadSafe.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package javax.annotation.concurrent;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/*
- * Copyright (c) 2005 Brian Goetz
- * Released under the Creative Commons Attribution License
- * (http://creativecommons.org/licenses/by/2.5)
- * Official home: http://www.jcip.net
- */
-
-/**
- * NotThreadSafe
- *
- * The class to which this annotation is applied is not thread-safe. This
- * annotation primarily exists for clarifying the non-thread-safety of a class
- * that might otherwise be assumed to be thread-safe, despite the fact that it
- * is a bad idea to assume a class is thread-safe without good reason.
- *
- * @see ThreadSafe
- */
-@Documented
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.CLASS)
-public @interface NotThreadSafe {
-}
diff --git a/src/javax/annotation/concurrent/ThreadSafe.java
b/src/javax/annotation/concurrent/ThreadSafe.java
deleted file mode 100644
index 3c861289..00000000
--- a/src/javax/annotation/concurrent/ThreadSafe.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package javax.annotation.concurrent;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * ThreadSafe
- *
- * The class to which this annotation is applied is thread-safe. This means
that
- * no sequences of accesses (reads and writes to public fields, calls to public
- * methods) may put the object into an invalid state, regardless of the
- * interleaving of those actions by the runtime, and without requiring any
- * additional synchronization or coordination on the part of the caller.
- */
-@Documented
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.CLASS)
-public @interface ThreadSafe {
-}
diff --git a/src/javax/annotation/meta/Exclusive.java
b/src/javax/annotation/meta/Exclusive.java
deleted file mode 100644
index d018c33b..00000000
--- a/src/javax/annotation/meta/Exclusive.java
+++ /dev/null
@@ -1,26 +0,0 @@
-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 {
-
-}
diff --git a/src/javax/annotation/meta/Exhaustive.java
b/src/javax/annotation/meta/Exhaustive.java
deleted file mode 100644
index dc75f06b..00000000
--- a/src/javax/annotation/meta/Exhaustive.java
+++ /dev/null
@@ -1,33 +0,0 @@
-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. This is only appropriate if the value field
- * returns a value that is an Enumeration.
- *
- * Applications of the type qualifier with different values are exclusive, and
- * the enumeration is an exhaustive list of the possible values.
- *
- * For example, the following defines a type qualifier such that if you know a
- * value is neither {@literal @Foo(Color.Red)} or {@literal @Foo(Color.Blue)},
- * then the value must be {@literal @Foo(Color.Green)}. And if you know it is
- * {@literal @Foo(Color.Green)}, you know it cannot be
- * {@literal @Foo(Color.Red)} or {@literal @Foo(Color.Blue)}
- *
- * <code>
- * @TypeQualifier @interface Foo {
- * enum Color {RED, BLUE, GREEN};
- * @Exhaustive Color value();
- * }
- * </code>
- */
-
-@Documented
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Exhaustive {
-
-}
diff --git a/src/javax/annotation/meta/TypeQualifier.java
b/src/javax/annotation/meta/TypeQualifier.java
deleted file mode 100644
index 99f63127..00000000
--- a/src/javax/annotation/meta/TypeQualifier.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package javax.annotation.meta;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * This qualifier is applied to an annotation to denote that the annotation
- * should be treated as a type qualifier.
- */
-
-@Documented
-@Target(ElementType.ANNOTATION_TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface TypeQualifier {
-
- /**
- * Describes the kinds of values the qualifier can be applied to. If a
- * numeric class is provided (e.g., Number.class or Integer.class) then the
- * annotation can also be applied to the corresponding primitive numeric
- * types.
- */
- Class<?> applicableTo() default Object.class;
-
-}
diff --git a/src/javax/annotation/meta/TypeQualifierDefault.java
b/src/javax/annotation/meta/TypeQualifierDefault.java
deleted file mode 100644
index 0c8bd528..00000000
--- a/src/javax/annotation/meta/TypeQualifierDefault.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package javax.annotation.meta;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * This qualifier is applied to an annotation to denote that the annotation
- * defines a default type qualifier that is visible within the scope of the
- * element it is applied to.
- */
-
-@Documented
-@Target(ElementType.ANNOTATION_TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface TypeQualifierDefault {
- ElementType[] value() default {};
-}
diff --git a/src/javax/annotation/meta/TypeQualifierNickname.java
b/src/javax/annotation/meta/TypeQualifierNickname.java
deleted file mode 100644
index 40c99838..00000000
--- a/src/javax/annotation/meta/TypeQualifierNickname.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package javax.annotation.meta;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Target;
-
-/**
- *
- * This annotation is applied to a annotation, and marks the annotation as
being
- * a qualifier nickname. Applying a nickname annotation X to a element Y should
- * be interpreted as having the same meaning as applying all of annotations of
X
- * (other than QualifierNickname) to Y.
- *
- * <p>
- * Thus, you might define a qualifier SocialSecurityNumber as follows:
- * </p>
- *
- *
- * <code>
- @Documented
- @TypeQualifierNickname @Pattern("[0-9]{3}-[0-9]{2}-[0-9]{4}")
- @Retention(RetentionPolicy.RUNTIME)
- public @interface SocialSecurityNumber {
- }
- </code>
- *
- *
- */
-@Documented
-@Target(ElementType.ANNOTATION_TYPE)
-public @interface TypeQualifierNickname {
-
-}
diff --git a/src/javax/annotation/meta/TypeQualifierValidator.java
b/src/javax/annotation/meta/TypeQualifierValidator.java
deleted file mode 100644
index 80530112..00000000
--- a/src/javax/annotation/meta/TypeQualifierValidator.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package javax.annotation.meta;
-
-import java.lang.annotation.Annotation;
-
-import javax.annotation.Nonnull;
-
-public interface TypeQualifierValidator<A extends Annotation> {
- /**
- * Given a type qualifier, check to see if a known specific constant value
- * is an instance of the set of values denoted by the qualifier.
- *
- * @param annotation
- * the type qualifier
- * @param value
- * the value to check
- * @return a value indicating whether or not the value is an member of the
- * values denoted by the type qualifier
- */
- public @Nonnull
- When forConstantValue(@Nonnull A annotation, Object value);
-}
diff --git a/src/javax/annotation/meta/When.java
b/src/javax/annotation/meta/When.java
deleted file mode 100644
index ec8a1bc7..00000000
--- a/src/javax/annotation/meta/When.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package javax.annotation.meta;
-
-/**
- * Used to describe the relationship between a qualifier T and the set of
values
- * S possible on an annotated element.
- *
- * In particular, an issues should be reported if an ALWAYS or MAYBE value is
- * used where a NEVER value is required, or if a NEVER or MAYBE value is used
- * where an ALWAYS value is required.
- *
- *
- */
-public enum When {
- /** S is a subset of T */
- ALWAYS,
- /** nothing definitive is known about the relation between S and T */
- UNKNOWN,
- /** S intersection T is non empty and S - T is nonempty */
- MAYBE,
- /** S intersection T is empty */
- NEVER;
-
-}