org.omnaest.utils.structure.element.cached
Class ThreadLocalCachedElement<T>

java.lang.Object
  extended by org.omnaest.utils.structure.element.cached.CachedElement<T>
      extended by org.omnaest.utils.structure.element.cached.ThreadLocalCachedElement<T>
Type Parameters:
T -

public class ThreadLocalCachedElement<T>
extends CachedElement<T>

ThreadLocal variant of a CachedElement which caches resolved element values for each thread independently.

If instantiated with active inheritance an InheritableThreadLocal is used, which allows to inherit values to child threads. By default inheritance is not used.

Author:
Omnaest
See Also:
Thread, ThreadLocal, InheritableThreadLocal

Nested Class Summary
 
Nested classes/interfaces inherited from class org.omnaest.utils.structure.element.cached.CachedElement
CachedElement.CachedValue<T>, CachedElement.ValueResolver<T>, CachedElement.ValueResolverSimple<T>
 
Field Summary
protected  boolean inherited
           
 
Fields inherited from class org.omnaest.utils.structure.element.cached.CachedElement
cachedValue, valueResolver
 
Constructor Summary
ThreadLocalCachedElement(CachedElement.ValueResolver<T> valueResolver)
           
ThreadLocalCachedElement(CachedElement.ValueResolver<T> valueResolver, boolean inherited)
           
 
Method Summary
protected  CachedElement.CachedValue<T> newCachedValue()
          Creates a new CachedElement.CachedValue instance.
 
Methods inherited from class org.omnaest.utils.structure.element.cached.CachedElement
clearCache, getValue, getValueFromCacheOnly, getValueResolver, hasValueResolved, setValueResolver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

inherited

protected boolean inherited
Constructor Detail

ThreadLocalCachedElement

public ThreadLocalCachedElement(CachedElement.ValueResolver<T> valueResolver)
Parameters:
valueResolver -

ThreadLocalCachedElement

public ThreadLocalCachedElement(CachedElement.ValueResolver<T> valueResolver,
                                boolean inherited)
Parameters:
valueResolver -
inherited -
Method Detail

newCachedValue

protected CachedElement.CachedValue<T> newCachedValue()
Description copied from class: CachedElement
Creates a new CachedElement.CachedValue instance. Override this to alternate the behavior of the CachedElement

Overrides:
newCachedValue in class CachedElement<T>
Returns:


Copyright © 2013. All Rights Reserved.