/* * ModeShape (http://www.modeshape.org) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.modeshape.schematic.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; /** * Copyright (c) 2005 Brian Goetz and Tim Peierls.<br /> * Released under the Creative Commons Attribution License<br /> * (http://creativecommons.org/licenses/by/2.5)<br /> * Official home: http://www.jcip.net<br /> * Adopted from Java Concurrency in Practice. * <p> * This annotation documents the class as being 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. * </p> * * @see NotThreadSafe */ @Documented @Target( ElementType.TYPE ) @Retention( RetentionPolicy.RUNTIME ) public @interface ThreadSafe { }