| Interface | Description | 
|---|---|
| DerivedCache.Derive<Source,Target> | 
 Derive the source from the target 
 | 
| DerivedCache.Expire<Source,Target> | 
 Given the before and after source do we need to expire the object. 
 | 
| THC.DeriveValue<T> | 
 Allow the client to provide a derrived value 
 | 
| Class | Description | 
|---|---|
| AbstractReferenceThunk<T> | 
 A version of Thunk that provide the infratructure to hold
 on to the value with a reference and re-create if it has
 been garbage collected. 
 | 
| DerivedCache<Key,Source,Target> | 
 This class looks to deal with the fairly common case where you have an
 operation that expensively created a value that you need to conserve until
 such time as it expires. 
 | 
| OneCallThunk<T> | 
 A version of Thunk that only stores the result for one call, this
 can be useful for debugging purposes. 
 | 
| SoftThunk<T> | 
 A version of Thunk that only stores the result softly so that
 it is possible to have the value recalculated. 
 | 
| THC | 
 An implementation of a typesafe heterogenous container, taken from
 effective java. 
 | 
| Thunk<T> | 
 Allow the client to provide a unit of delayed computation. 
 | 
| WeakThunk<T> | 
 A version of Thunk that only stores the result weakly so that
 it is possible to have the value recalculated. 
 | 
| Exception | Description | 
|---|---|
| Thunk.ThunkException | 
 A unchecked excpetions that thunks can use to communicate with
 the outside world. 
 |