Groovy Documentation

groovy.lang
[Java] Annotation Type Singleton

java.lang.Object
  groovy.lang.Singleton

@Retention(RetentionPolicy.SOURCE)
@Target({ElementType.TYPE})
@GroovyASTTransformationClass("org.codehaus.groovy.transform.SingletonASTTransformation")
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

Authors:
Alex Tkachman


 
Optional Element Summary
boolean lazy

@default false

Returns:
if this singleton should be lazy

java.lang.String property

@default "instance"

Returns:
the singleton property name

 
Method Summary
 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Element Detail

lazy

public boolean lazy
@default false
Returns:
if this singleton should be lazy


property

public java.lang.String property
@default "instance"
Returns:
the singleton property name


 

Groovy Documentation