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"