166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonpackage javax.annotation.concurrent;
266e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson
366e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.Documented;
466e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.ElementType;
566e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.Retention;
666e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.RetentionPolicy;
766e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.Target;
866e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson
966e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson/**
1066e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * ThreadSafe
1166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson *
1266e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * The class to which this annotation is applied is thread-safe. This means that
1366e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * no sequences of accesses (reads and writes to public fields, calls to public
1466e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * methods) may put the object into an invalid state, regardless of the
1566e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * interleaving of those actions by the runtime, and without requiring any
1666e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * additional synchronization or coordination on the part of the caller.
1766e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson */
1866e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson@Documented
1966e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson@Target(ElementType.TYPE)
2066e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson@Retention(RetentionPolicy.CLASS)
2166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonpublic @interface ThreadSafe {
2266e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson}
23