Package org.codehaus.groovy.util
Class LazyReference<T>
- java.lang.Object
-
- java.util.concurrent.locks.AbstractOwnableSynchronizer
-
- java.util.concurrent.locks.AbstractQueuedSynchronizer
-
- org.codehaus.groovy.util.LockableObject
-
- org.codehaus.groovy.util.LazyReference<T>
-
- All Implemented Interfaces:
Serializable
public abstract class LazyReference<T> extends LockableObject
Soft reference with lazy initialization under lock- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.util.concurrent.locks.AbstractQueuedSynchronizer
AbstractQueuedSynchronizer.ConditionObject
-
-
Constructor Summary
Constructors Constructor Description LazyReference(ReferenceBundle bundle)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
clear()
T
get()
abstract T
initValue()
String
toString()
-
Methods inherited from class org.codehaus.groovy.util.LockableObject
isHeldExclusively, lock, tryAcquire, tryRelease, unlock
-
Methods inherited from class java.util.concurrent.locks.AbstractQueuedSynchronizer
acquire, acquireInterruptibly, acquireShared, acquireSharedInterruptibly, compareAndSetState, getExclusiveQueuedThreads, getFirstQueuedThread, getQueuedThreads, getQueueLength, getSharedQueuedThreads, getState, getWaitingThreads, getWaitQueueLength, hasContended, hasQueuedPredecessors, hasQueuedThreads, hasWaiters, isQueued, owns, release, releaseShared, setState, tryAcquireNanos, tryAcquireShared, tryAcquireSharedNanos, tryReleaseShared
-
Methods inherited from class java.util.concurrent.locks.AbstractOwnableSynchronizer
getExclusiveOwnerThread, setExclusiveOwnerThread
-
-
-
-
Constructor Detail
-
LazyReference
public LazyReference(ReferenceBundle bundle)
-
-
Method Detail
-
get
public T get()
-
clear
public void clear()
-
initValue
public abstract T initValue()
-
toString
public String toString()
- Overrides:
toString
in classAbstractQueuedSynchronizer
-
-