Groovy Documentation

org.codehaus.groovy.util
[Java] Class LazyReference

java.lang.Object
  java.util.concurrent.locks.AbstractOwnableSynchronizer
      java.util.concurrent.locks.AbstractQueuedSynchronizer
          org.codehaus.groovy.util.LockableObject
              org.codehaus.groovy.util.LazyReference

public abstract class LazyReference
extends LockableObject

Soft reference with lazy initialization under lock


Constructor Summary
LazyReference(ReferenceBundle bundle)

 
Method Summary
void clear()

java.lang.Object get()

java.lang.Object initValue()

java.lang.String toString()

 
Methods inherited from class LockableObject
isHeldExclusively, lock, tryAcquire, tryRelease, unlock
 
Methods inherited from class java.util.concurrent.locks.AbstractQueuedSynchronizer
java.util.concurrent.locks.AbstractQueuedSynchronizer#toString(), java.util.concurrent.locks.AbstractQueuedSynchronizer#acquireInterruptibly(int), java.util.concurrent.locks.AbstractQueuedSynchronizer#getQueueLength(), java.util.concurrent.locks.AbstractQueuedSynchronizer#getQueuedThreads(), java.util.concurrent.locks.AbstractQueuedSynchronizer#getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject), java.util.concurrent.locks.AbstractQueuedSynchronizer#getWaitingThreads(java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject), java.util.concurrent.locks.AbstractQueuedSynchronizer#hasQueuedThreads(), java.util.concurrent.locks.AbstractQueuedSynchronizer#hasWaiters(java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject), java.util.concurrent.locks.AbstractQueuedSynchronizer#isQueued(java.lang.Thread), java.util.concurrent.locks.AbstractQueuedSynchronizer#release(int), java.util.concurrent.locks.AbstractQueuedSynchronizer#tryAcquireNanos(int, long), java.util.concurrent.locks.AbstractQueuedSynchronizer#acquire(int), java.util.concurrent.locks.AbstractQueuedSynchronizer#acquireShared(int), java.util.concurrent.locks.AbstractQueuedSynchronizer#acquireSharedInterruptibly(int), java.util.concurrent.locks.AbstractQueuedSynchronizer#getExclusiveQueuedThreads(), java.util.concurrent.locks.AbstractQueuedSynchronizer#getFirstQueuedThread(), java.util.concurrent.locks.AbstractQueuedSynchronizer#getSharedQueuedThreads(), java.util.concurrent.locks.AbstractQueuedSynchronizer#hasContended(), java.util.concurrent.locks.AbstractQueuedSynchronizer#hasQueuedPredecessors(), java.util.concurrent.locks.AbstractQueuedSynchronizer#owns(java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject), java.util.concurrent.locks.AbstractQueuedSynchronizer#releaseShared(int), java.util.concurrent.locks.AbstractQueuedSynchronizer#tryAcquireSharedNanos(int, long), java.util.concurrent.locks.AbstractQueuedSynchronizer#wait(long, int), java.util.concurrent.locks.AbstractQueuedSynchronizer#wait(long), java.util.concurrent.locks.AbstractQueuedSynchronizer#wait(), java.util.concurrent.locks.AbstractQueuedSynchronizer#equals(java.lang.Object), java.util.concurrent.locks.AbstractQueuedSynchronizer#hashCode(), java.util.concurrent.locks.AbstractQueuedSynchronizer#getClass(), java.util.concurrent.locks.AbstractQueuedSynchronizer#notify(), java.util.concurrent.locks.AbstractQueuedSynchronizer#notifyAll()
 

Constructor Detail

LazyReference

public LazyReference(ReferenceBundle bundle)


 
Method Detail

clear

public void clear()


get

public java.lang.Object get()


initValue

public java.lang.Object initValue()


toString

public java.lang.String toString()


 

Groovy Documentation