本文整理汇总了Java中com.sun.jersey.api.model.AbstractResourceMethod.getAnnotation方法的典型用法代码示例。如果您正苦于以下问题:Java AbstractResourceMethod.getAnnotation方法的具体用法?Java AbstractResourceMethod.getAnnotation怎么用?Java AbstractResourceMethod.getAnnotation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.jersey.api.model.AbstractResourceMethod
的用法示例。
在下文中一共展示了AbstractResourceMethod.getAnnotation方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getState
import com.sun.jersey.api.model.AbstractResourceMethod; //导入方法依赖的package包/类
/**
* Check the method, then the class, for @ResourceMetrics and use the specified checker to see if the feature is
* enabled or disabled.
*
* @param am resource method
* @param checker checker
* @return EnabledState.ON if feature enabled, EnabledState.OFF if feature disabled, EnabledState.UNSPECIFIED
* otherwise
*/
static EnabledState getState(AbstractResourceMethod am, MetricsAnnotationChecker checker) {
// check method, then class
for (ResourceMetrics ann : new ResourceMetrics[]{am.getAnnotation(ResourceMetrics.class), am
.getResource().getAnnotation(ResourceMetrics.class)}) {
if (ann != null) {
if (checker.check(ann)) {
return EnabledState.ON;
} else {
return EnabledState.OFF;
}
}
}
return EnabledState.UNSPECIFIED;
}
示例2: create
import com.sun.jersey.api.model.AbstractResourceMethod; //导入方法依赖的package包/类
@Override
public RequestDispatcher create(AbstractResourceMethod abstractResourceMethod) {
RequestDispatcher dispatcher = _provider.create(abstractResourceMethod);
CacheGroup groupNameAnn = abstractResourceMethod.getAnnotation(CacheGroup.class);
Vary varyAnn = abstractResourceMethod.getAnnotation(Vary.class);
IncludeBodyInCacheKey includeBodyInCacheKeyAnn = abstractResourceMethod.getAnnotation(IncludeBodyInCacheKey.class);
Set<String> vary = ImmutableSet.of();
if (varyAnn != null && varyAnn.value() != null) {
vary = HttpHeaderUtils.headerNames(Iterables.filter(
Arrays.asList(varyAnn.value()),
Predicates.notNull()));
}
boolean includeBodyInCacheKey = includeBodyInCacheKeyAnn != null && includeBodyInCacheKeyAnn.enabled();
if (groupNameAnn != null || abstractResourceMethod.isAnnotationPresent(CacheControl.class)) {
String groupName = groupNameAnn == null ? "" : groupNameAnn.value();
dispatcher = new CachingDispatcher(dispatcher, _cache, _cacheControlMapper.apply(groupName), vary, includeBodyInCacheKey);
} else if (abstractResourceMethod.getHttpMethod().equals("GET")) {
Optional<String> cacheControlOverride = _cacheControlMapper.apply("");
if (cacheControlOverride != null && cacheControlOverride.isPresent()) {
dispatcher = new CachingDispatcher(dispatcher, _cache, cacheControlOverride, vary, includeBodyInCacheKey);
}
}
return dispatcher;
}
开发者ID:bazaarvoice,项目名称:dropwizard-caching-bundle,代码行数:31,代码来源:CacheResourceMethodDispatchAdapter.java