## 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
`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-2009 The Codehaus. All rights reserved.