@Retention(value=CLASS) @Target(value=PARAMETER) public static @interface Cached.Shared
cached
parameter
can be annotated with exclusive
. The DSL will indicate sharing
opportunities to the user by showing a warning.
Shared caches with reference types must never return null
for their initializer
when they are used in guards, because the null
value is reserved for the
uninitialized state. An AssertionError
will be thrown at runtime if that is the case.
Shared caches with primitive types must not be used at all in guards.
Cached.Exclusive
public abstract String value