Package org.apache.tapestry5.ioc.internal.services

# Class CachingObjectCreator<T>

java.lang.Object
org.apache.tapestry5.commons.internal.util.LockSupport
org.apache.tapestry5.ioc.internal.services.CachingObjectCreator<T>

All Implemented Interfaces:
  `ObjectCreator<T>`

public class CachingObjectCreator<T> extends LockSupport implements ObjectCreator<T>
An `ObjectCreator` that delegates to another `ObjectCreator` and caches the result.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CachingObjectCreator(ObjectCreator<T> delegate)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `T`
  `createObject()`
  Create and return the object.

  ### Methods inherited from class org.apache.tapestry5.commons.internal.util.LockSupport

  `acquireReadLock, downgradeWriteLockToReadLock, releaseReadLock, releaseWriteLock, takeWriteLock, upgradeReadLockToWriteLock`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### CachingObjectCreator

    public CachingObjectCreator(ObjectCreator<T> delegate)

- ## Method Details

  - ### createObject

    public T createObject()
    Description copied from interface: `ObjectCreator`
    Create and return the object. In some limited circumstances, the implementation may cache the result, returning the same object for repeated calls.
    Specified by:
      `createObject` in interface `ObjectCreator<T>`