groovy.lang
Annotation Type Singleton
@Documented
@Retention(value=SOURCE)
@Target(value=TYPE)
public @interface Singleton
Class annotation to make class singleton.
Singleton can be initialized in static initialization of the class or lazily (on first access)
To make singleton lazy it is enough to use @Singleton(lazy=true)
Lazy singletons implemented with double check locking and volatile field
Optional Element Summary |
boolean |
lazy
|
java.lang.String |
property
|
lazy
public abstract boolean lazy
- Returns:
- if this singleton should be lazy
- Default:
- false
property
public abstract java.lang.String property
- Returns:
- the singleton property name
- Default:
- "instance"