001package org.modeshape.common.annotation; 002 003import java.lang.annotation.Documented; 004import java.lang.annotation.ElementType; 005import java.lang.annotation.Retention; 006import java.lang.annotation.RetentionPolicy; 007import java.lang.annotation.Target; 008 009/** 010 * Copyright (c) 2005 Brian Goetz and Tim Peierls.<br /> 011 * Released under the Creative Commons Attribution License<br /> 012 * (http://creativecommons.org/licenses/by/2.5)<br /> 013 * Official home: http://www.jcip.net<br /> 014 * Adopted from Java Concurrency in Practice. 015 * <p> 016 * This annotation documents the class as being thread-safe. This means that no sequences of accesses (reads and writes to public 017 * fields, calls to public methods) may put the object into an invalid state, regardless of the interleaving of those actions by 018 * the runtime, and without requiring any additional synchronization or coordination on the part of the caller. 019 * </p> 020 * 021 * @see NotThreadSafe 022 */ 023@Documented 024@Target( ElementType.TYPE ) 025@Retention( RetentionPolicy.RUNTIME ) 026public @interface ThreadSafe { 027}