Package org.infinispan.functional
Interface MetaParam.Lookup
- All Known Subinterfaces:
EntryView.ReadEntryView<K,
,V> EntryView.ReadWriteEntryView<K,
,V> EntryViews.AccessLoggingReadWriteView<K,
V>
- All Known Implementing Classes:
MetaParamsInternalMetadata
Provides metadata parameter lookup capabilities using
Class
as
lookup key.
When the MetaParam
type is generic, e.g. MetaParam.MetaEntryVersion
,
passing the correct Class
information so that the return of
findMetaParam(java.lang.Class<T>)
is of the expected type can be a bit tricky.
offers an easy way to retrieve the
expected invalid reference
MetaEntryVersion#type()
MetaParam
type from findMetaParam(java.lang.Class<T>)
at the
expense of some type safety:
Class<MetaEntryVersion<Long>> type = MetaEntryVersion.type();
Optional<MetaEntryVersion<Long>> metaVersion =
metaParamLookup.findMetaParam(type);
In the future, the API might be adjusted to provide additional lookup
methods where this situation is improved. Also, if the MetaParam
type is not generic, e.g. MetaParam.MetaLifespan
, the problem is avoided
altogether:
Optional<MetaLifespan<Long>> metaLifespan =
metaParamLookup.findMetaParam(MetaLifespan.class);
A user that queries meta parameters can never assume that the meta parameter will always exist because some of them depends on the cache usage.
- Since:
- 8.0
-
Method Summary