- Type Parameters:
T- type of MetaParam instance, implementations should assign it to the implementation's type.
- All Known Subinterfaces:
- All Known Implementing Classes:
@Experimental public interface MetaParam<T>An easily extensible metadata parameter that's stored along with the value in the the functional map.
Some metadata parameters can be provided by the user in which case they need to implement
MetaParam.Writable. Examples of writable metadata parameters are version information, lifespan of the cached value...etc.
Those metadata parameters not extending
MetaParam.Writableare created by internal logic and hence can only be queried, for example: time when value was added into the functional map, or last time value was accessed or modified.
MetaParamvalues are designed to be stored along with key/value pairs in the functional map, to provide extra information. On the other hand,
Paraminstances merely act as ways to tweak how operations are executed, and their contents are never stored permanently.
This interface replaces Infinispan's Metadata interface providing a more flexible way to add new metadata parameters to be stored with the cached entries.
MetaParamdesign has been geared towards making a clear separation between the metadata that can be provided by the user on per-entry basis, e.g. lifespan, maxIdle, version...etc, as opposed to metadata that's produced by the internal logic that cannot be modified directly by the user, e.g. cache entry created time, last time cache entry was modified or accessed ...etc.
Nested Class Summary
Nested Classes Modifier and Type Interface Description
MetaParam.LookupProvides metadata parameter lookup capabilities using
Classas lookup key.
MetaParam.MetaCreatedRead only metadata parameter representing a cached entry's created time in milliseconds.
MetaParam.MetaEntryVersionWritable metadata parameter representing a cached entry's generic version.
MetaParam.MetaLastUsedRead only metadata parameter representing a cached entry's last used time in milliseconds.
MetaParam.MetaLifespanWritable metadata parameter representing a cached entry's millisecond lifespan.
MetaParam.MetaLoadedFromPersistenceNon-writable parameter telling if the entry was loaded from a persistence tier (
CacheLoader) or not.
MetaParam.MetaLongAbstract class for numeric long-based metadata parameter instances.
MetaParam.MetaMaxIdleWritable metadata parameter representing a cached entry's millisecond max idle time.
MetaParaminstances are those that the user can provide to be stored as part of the cache entry.
T get()Returns the value of the meta parameter.