org.codehaus.groovy.util
Class LazyReference<T>

java.lang.Object
  extended by java.util.concurrent.locks.AbstractOwnableSynchronizer
      extended by java.util.concurrent.locks.AbstractQueuedSynchronizer
          extended by org.codehaus.groovy.util.LockableObject
              extended by 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
LazyReference(ReferenceBundle bundle)
           
 
Method Summary
 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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 class AbstractQueuedSynchronizer

Copyright © 2003-2010 The Codehaus. All rights reserved.