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