Package org.infinispan.functional
Interface MetaParam.Lookup
-
- All Known Subinterfaces:
EntryView.ReadEntryView<K,V>,EntryView.ReadWriteEntryView<K,V>
public static interface MetaParam.LookupProvides metadata parameter lookup capabilities usingClassas lookup key.When the
MetaParamtype is generic, e.g.MetaParam.MetaEntryVersion, passing the correctClassinformation so that the return offindMetaParam(java.lang.Class<T>)is of the expected type can be a bit tricky.MetaEntryVersion#type()offers an easy way to retrieve the expectedMetaParamtype fromfindMetaParam(java.lang.Class<T>)at the expense of some type safety:
In the future, the API might be adjusted to provide additional lookup methods where this situation is improved. Also, if theClass<MetaEntryVersion<Long>> type = MetaEntryVersion.type(); Optional<MetaEntryVersion<Long>> metaVersion = metaParamLookup.findMetaParam(type);MetaParamtype 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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <T extends MetaParam>
java.util.Optional<T>findMetaParam(java.lang.Class<T> type)Returns a non-emptyOptionalinstance containing a metadata parameter instance that can be assigned to the typeClasspassed in, or an emptyOptionalif no metadata can be assigned to that type.
-
-
-
Method Detail
-
findMetaParam
<T extends MetaParam> java.util.Optional<T> findMetaParam(java.lang.Class<T> type)
Returns a non-emptyOptionalinstance containing a metadata parameter instance that can be assigned to the typeClasspassed in, or an emptyOptionalif no metadata can be assigned to that type.- Type Parameters:
T- metadata parameter type
-
-