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:
java.io.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

    java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject
  • Constructor Summary

    Constructors
    Constructor Description
    LazyReference​(ReferenceBundle bundle)  
  • Method Summary

    Modifier and Type Method Description
    void clear()  
    T get()  
    abstract T initValue()  
    java.lang.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 Details

  • Method Details

    • get

      public T get()
    • clear

      public void clear()
    • initValue

      public abstract T initValue()
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.util.concurrent.locks.AbstractQueuedSynchronizer