Interface MetaParam<T>

  • Type Parameters:
    T - type of MetaParam instance, implementations should assign it to the implementation's type.
    All Known Subinterfaces:
    All Known Implementing Classes:
    MetaParam.MetaBoolean, MetaParam.MetaCreated, MetaParam.MetaEntryVersion, MetaParam.MetaLastUsed, MetaParam.MetaLifespan, MetaParam.MetaLoadedFromPersistence, MetaParam.MetaLong, MetaParam.MetaMaxIdle, MetaParam.MetaUpdateCreationTime

    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.Writable are 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.

    What makes MetaParam different from Param is that MetaParam values are designed to be stored along with key/value pairs in the functional map, to provide extra information. On the other hand, Param instances 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.

    MetaParam design 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.

    • Method Detail

      • get

        T get()
        Returns the value of the meta parameter.