Package com.surelogic

Provides the annotations necessary to express models of programmer design intent in Java code.

See:
          Description

Annotation Types Summary
AllowsReferencesFrom Constrains the set of types that are allowed to reference the annotated program element.
Assume Declares an assumption about a portion of the system.
Assumes Container annotation for multiple Assume annotations.
Borrowed Declares that the reference passed to the parameter or receiver to which this annotation is applied does not receive any new aliases due to reads from the annotated parameter or receiver during execution of the method or constructor.
BorrowedInRegion Annotating a field as @BorrowedInRegion means that the entity pointed to by the field is unique as long as the object with the annotated field is being used.
Containable The class to which this annotation is applied is declared to be containable.
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.
Immutable When used on a class or interface declaration, this annotation declares that instances of the annotated type are always immutable.
InLayer Declares that the annotated type is part of the named layers.
InRegion Declares that the field to which this annotation is applied is mapped into the named region.
InRegions Container annotation for multiple InRegion annotations on a type.
Layer Declares a named layer as well as the type set that types in the layer may refer to.
Layers Container annotation for multiple Layer annotations.
MayReferTo Constrains the set of types that a type is allowed to reference.
Mutable The class to which this annotation is applied is mutable, that is, has state that is changeable.
NotContainable The class to which this annotation is applied is not containable.
NotThreadSafe The type to which this annotation is applied is not thread-safe.
PolicyLock Declares a new policy lock for the class to which this annotation is applied.
PolicyLocks Container annotation for multiple PolicyLock annotations on a type.
Promise Declares a promise that applies to multiple declarations within the scope of code that the annotation appears on.
Promises Container annotation for multiple Promise annotations.
ReadOnly Declares that the parameter, receiver, return value, or field to which this annotation is applied cannot be used to mutate an object.
Region Declares a new abstract region of state for the class to which this annotation is applied.
RegionEffects Declares the regions that may be read or written during execution of the method or constructor to which this annotation is applied.
RegionLock Declares a new region lock for the class to which this annotation is applied.
RegionLocks Container annotation for multiple RegionLock annotations.
Regions Container annotation for multiple Region annotations.
RequiresLock Declares that the method or constructor to which this annotation applies assumes that the caller holds the named locks.
ReturnsLock Declares that the object returned by the method to which this annotation is applied is the named lock.
Singleton The class to which this annotation is applied is a singleton, meaning it has only one instance and provides a global point of access to that instance.
Starts Declares what threads, if any, are started, i.e., by Thread.start(), during the execution of the method or constructor to which this annotation is applied.
ThreadSafe The type to which this annotation is applied is thread-safe.
TypeSet Declares a named set of types to be used in MayReferTo and Layer annotations.
TypeSets Container annotation for multiple TypeSet annotations.
Unique Declares that the parameter, receiver, return value, or field to which this annotation is applied is a unique reference to an object.
UniqueInRegion Declares that the field to which this annotation is applied is a unique reference to an object.
Utility The class to which this annotation is applied is a utility, meaning it only has static methods and state.
Vouch Vouches for any inconsistent analysis result within the scope of code that the annotation appears on.
 

Package com.surelogic Description

Provides the annotations necessary to express models of programmer design intent in Java code. Please suggest enhancements and report problems with these annotations to support@surelogic.com.



Copyright © 2011 Surelogic, Inc.. All Rights Reserved.