public static interface MetaParam.Lookup
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.
MetaParam.MetaEntryVersion.type()
offers an easy way to retrieve the
expected 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 there are scenarios, such as when compatibility mode is enabled, when meta parameters that are assumed to be present are not due to the API multiplexing that occurs. For example, when compatibility mode is enabled, the REST server can't assume that MIME metadata will be present since data might have been stored with embedded or remote (Hot Rod) API.
Modifier and Type | Method and Description |
---|---|
<T> Optional<T> |
findMetaParam(Class<T> type)
|
Copyright © 2015 JBoss, a division of Red Hat. All rights reserved.