本文整理了Java中org.glassfish.jersey.server.model.AnnotatedMethod.isAnnotationPresent()
方法的一些代码示例,展示了AnnotatedMethod.isAnnotationPresent()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AnnotatedMethod.isAnnotationPresent()
方法的具体详情如下:
包路径:org.glassfish.jersey.server.model.AnnotatedMethod
类名称:AnnotatedMethod
方法名:isAnnotationPresent
暂无
代码示例来源:origin: jersey/jersey
private static List<MediaType> resolveProducedTypes(final AnnotatedMethod am, final List<MediaType> defaultProducedTypes) {
// Override default types if the annotation is present on the method
if (am.isAnnotationPresent(Produces.class)) {
return extractMediaTypes(am.getAnnotation(Produces.class));
}
return defaultProducedTypes;
}
代码示例来源:origin: jersey/jersey
private static List<MediaType> resolveConsumedTypes(final AnnotatedMethod am, final List<MediaType> defaultConsumedTypes) {
// Override default types if the annotation is present on the method
if (am.isAnnotationPresent(Consumes.class)) {
return extractMediaTypes(am.getAnnotation(Consumes.class));
}
return defaultConsumedTypes;
}
代码示例来源:origin: jersey/jersey
private static List<MediaType> resolveProducedTypes(final AnnotatedMethod am, final List<MediaType> defaultProducedTypes) {
// Override default types if the annotation is present on the method
if (am.isAnnotationPresent(Produces.class)) {
return extractMediaTypes(am.getAnnotation(Produces.class));
}
return defaultProducedTypes;
}
代码示例来源:origin: jersey/jersey
private static List<MediaType> resolveConsumedTypes(final AnnotatedMethod am, final List<MediaType> defaultConsumedTypes) {
// Override default types if the annotation is present on the method
if (am.isAnnotationPresent(Consumes.class)) {
return extractMediaTypes(am.getAnnotation(Consumes.class));
}
return defaultConsumedTypes;
}
代码示例来源:origin: dropwizard/dropwizard
@Override
public void configure(ResourceInfo resourceInfo, FeatureContext context) {
final AnnotatedMethod am = new AnnotatedMethod(resourceInfo.getResourceMethod());
final Annotation[][] parameterAnnotations = am.getParameterAnnotations();
final Class<?>[] parameterTypes = am.getParameterTypes();
// First, check for any @Auth annotations on the method.
for (int i = 0; i < parameterAnnotations.length; i++) {
for (final Annotation annotation : parameterAnnotations[i]) {
if (annotation instanceof Auth) {
// Optional auth requires that a concrete AuthFilter be provided.
if (parameterTypes[i].equals(Optional.class) && authFilter != null) {
context.register(new WebApplicationExceptionCatchingFilter(authFilter));
return;
} else {
registerAuthFilter(context);
return;
}
}
}
}
// Second, check for any authorization annotations on the class or method.
// Note that @DenyAll shouldn't be attached to classes.
final boolean annotationOnClass = (resourceInfo.getResourceClass().getAnnotation(RolesAllowed.class) != null) ||
(resourceInfo.getResourceClass().getAnnotation(PermitAll.class) != null);
final boolean annotationOnMethod = am.isAnnotationPresent(RolesAllowed.class) || am.isAnnotationPresent(DenyAll.class) ||
am.isAnnotationPresent(PermitAll.class);
if (annotationOnClass || annotationOnMethod) {
registerAuthFilter(context);
}
}
代码示例来源:origin: jersey/jersey
private static void introspectAsyncFeatures(AnnotatedMethod am, ResourceMethod.Builder resourceMethodBuilder) {
if (am.isAnnotationPresent(ManagedAsync.class)) {
resourceMethodBuilder.managedAsync();
}
for (Annotation[] annotations : am.getParameterAnnotations()) {
for (Annotation annotation : annotations) {
if (annotation.annotationType() == Suspended.class) {
resourceMethodBuilder.suspended(AsyncResponse.NO_TIMEOUT, TimeUnit.MILLISECONDS);
}
}
}
for (Class<?> paramType : am.getParameterTypes()) {
if (SseEventSink.class.equals(paramType)) {
resourceMethodBuilder.sse();
}
}
}
代码示例来源:origin: apache/drill
@Override
public void configure(final ResourceInfo resourceInfo,
final FeatureContext configuration) {
AnnotatedMethod am = new AnnotatedMethod(resourceInfo.getResourceMethod());
// RolesAllowed on the method takes precedence over PermitAll
RolesAllowed ra = am.getAnnotation(RolesAllowed.class);
if (ra != null) {
configuration.register(AuthCheckFilter.INSTANCE);
return;
}
// PermitAll takes precedence over RolesAllowed on the class
if (am.isAnnotationPresent(PermitAll.class)) {
// Do nothing.
return;
}
// RolesAllowed on the class takes precedence over PermitAll
ra = resourceInfo.getResourceClass().getAnnotation(RolesAllowed.class);
if (ra != null) {
configuration.register(AuthCheckFilter.INSTANCE);
}
}
代码示例来源:origin: jersey/jersey
private static void introspectAsyncFeatures(AnnotatedMethod am, ResourceMethod.Builder resourceMethodBuilder) {
if (am.isAnnotationPresent(ManagedAsync.class)) {
resourceMethodBuilder.managedAsync();
}
for (Annotation[] annotations : am.getParameterAnnotations()) {
for (Annotation annotation : annotations) {
if (annotation.annotationType() == Suspended.class) {
resourceMethodBuilder.suspended(AsyncResponse.NO_TIMEOUT, TimeUnit.MILLISECONDS);
}
}
}
for (Class<?> paramType : am.getParameterTypes()) {
if (SseEventSink.class.equals(paramType)) {
resourceMethodBuilder.sse();
}
}
}
代码示例来源:origin: jersey/jersey
@Override
public void configure(final ResourceInfo resourceInfo, final FeatureContext configuration) {
final AnnotatedMethod am = new AnnotatedMethod(resourceInfo.getResourceMethod());
// DenyAll on the method take precedence over RolesAllowed and PermitAll
if (am.isAnnotationPresent(DenyAll.class)) {
configuration.register(new RolesAllowedRequestFilter());
return;
}
// RolesAllowed on the method takes precedence over PermitAll
RolesAllowed ra = am.getAnnotation(RolesAllowed.class);
if (ra != null) {
configuration.register(new RolesAllowedRequestFilter(ra.value()));
return;
}
// PermitAll takes precedence over RolesAllowed on the class
if (am.isAnnotationPresent(PermitAll.class)) {
// Do nothing.
return;
}
// DenyAll can't be attached to classes
// RolesAllowed on the class takes precedence over PermitAll
ra = resourceInfo.getResourceClass().getAnnotation(RolesAllowed.class);
if (ra != null) {
configuration.register(new RolesAllowedRequestFilter(ra.value()));
}
}
代码示例来源:origin: jersey/jersey
@Override
public void configure(final ResourceInfo resourceInfo, final FeatureContext configuration) {
final AnnotatedMethod am = new AnnotatedMethod(resourceInfo.getResourceMethod());
// DenyAll on the method take precedence over RolesAllowed and PermitAll
if (am.isAnnotationPresent(DenyAll.class)) {
configuration.register(new RolesAllowedRequestFilter());
return;
}
// RolesAllowed on the method takes precedence over PermitAll
RolesAllowed ra = am.getAnnotation(RolesAllowed.class);
if (ra != null) {
configuration.register(new RolesAllowedRequestFilter(ra.value()));
return;
}
// PermitAll takes precedence over RolesAllowed on the class
if (am.isAnnotationPresent(PermitAll.class)) {
// Do nothing.
return;
}
// DenyAll can't be attached to classes
// RolesAllowed on the class takes precedence over PermitAll
ra = resourceInfo.getResourceClass().getAnnotation(RolesAllowed.class);
if (ra != null) {
configuration.register(new RolesAllowedRequestFilter(ra.value()));
}
}
代码示例来源:origin: jersey/jersey
private void addSubResourceLocators(
final Resource.Builder resourceBuilder,
final MethodList methodList,
final List<Parameter> resourceClassParameters, // parameters derived from fields and setters on the resource class
final boolean encodedParameters,
final boolean extended) {
for (AnnotatedMethod am : methodList.withoutMetaAnnotation(HttpMethod.class).withAnnotation(Path.class)) {
final String path = am.getAnnotation(Path.class).value();
Resource.Builder builder = resourceBuilder;
if (path != null && !path.isEmpty() && !"/".equals(path)) {
builder = resourceBuilder.addChildResource(path);
}
builder.addMethod()
.encodedParameters(encodedParameters || am.isAnnotationPresent(Encoded.class))
.handledBy(handlerClass, am.getMethod())
.handlingMethod(am.getDeclaredMethod())
.handlerParameters(resourceClassParameters)
.extended(extended || am.isAnnotationPresent(ExtendedResource.class));
}
}
}
代码示例来源:origin: jersey/jersey
private void addSubResourceLocators(
final Resource.Builder resourceBuilder,
final MethodList methodList,
final List<Parameter> resourceClassParameters, // parameters derived from fields and setters on the resource class
final boolean encodedParameters,
final boolean extended) {
for (AnnotatedMethod am : methodList.withoutMetaAnnotation(HttpMethod.class).withAnnotation(Path.class)) {
final String path = am.getAnnotation(Path.class).value();
Resource.Builder builder = resourceBuilder;
if (path != null && !path.isEmpty() && !"/".equals(path)) {
builder = resourceBuilder.addChildResource(path);
}
builder.addMethod()
.encodedParameters(encodedParameters || am.isAnnotationPresent(Encoded.class))
.handledBy(handlerClass, am.getMethod())
.handlingMethod(am.getDeclaredMethod())
.handlerParameters(resourceClassParameters)
.extended(extended || am.isAnnotationPresent(ExtendedResource.class));
}
}
}
代码示例来源:origin: jersey/jersey
private void checkResourceClassSetters(final MethodList methodList,
final boolean encodedFlag,
Collection<Parameter> injectableParameters) {
for (AnnotatedMethod method : methodList.withoutMetaAnnotation(HttpMethod.class)
.withoutAnnotation(Path.class)
.hasNumParams(1)
.hasReturnType(void.class)
.nameStartsWith("set")) {
Parameter p = Parameter.create(
handlerClass,
method.getMethod().getDeclaringClass(),
encodedFlag || method.isAnnotationPresent(Encoded.class),
method.getParameterTypes()[0],
method.getGenericParameterTypes()[0],
method.getAnnotations());
if (null != p) {
ResourceMethodValidator.validateParameter(p, method.getMethod(), method.getMethod().toGenericString(), "1",
InvocableValidator.isSingleton(handlerClass));
// we do not inject entity parameters into class instance fields and properties.
if (p.getSource() != Parameter.Source.ENTITY) {
injectableParameters.add(p);
}
}
}
}
代码示例来源:origin: jersey/jersey
private void checkResourceClassSetters(final MethodList methodList,
final boolean encodedFlag,
Collection<Parameter> injectableParameters) {
for (AnnotatedMethod method : methodList.withoutMetaAnnotation(HttpMethod.class)
.withoutAnnotation(Path.class)
.hasNumParams(1)
.hasReturnType(void.class)
.nameStartsWith("set")) {
Parameter p = Parameter.create(
handlerClass,
method.getMethod().getDeclaringClass(),
encodedFlag || method.isAnnotationPresent(Encoded.class),
method.getParameterTypes()[0],
method.getGenericParameterTypes()[0],
method.getAnnotations());
if (null != p) {
ResourceMethodValidator.validateParameter(p, method.getMethod(), method.getMethod().toGenericString(), "1",
InvocableValidator.isSingleton(handlerClass));
// we do not inject entity parameters into class instance fields and properties.
if (p.getSource() != Parameter.Source.ENTITY) {
injectableParameters.add(p);
}
}
}
}
代码示例来源:origin: jersey/jersey
private void addSubResourceMethods(
final Resource.Builder resourceBuilder,
final MethodList methodList,
final List<Parameter> resourceClassParameters, // parameters derived from fields and setters on the resource class
final boolean encodedParameters,
final List<MediaType> defaultConsumedTypes,
final List<MediaType> defaultProducedTypes,
final Collection<Class<? extends Annotation>> defaultNameBindings,
final boolean extended
) {
for (AnnotatedMethod am : methodList.withMetaAnnotation(HttpMethod.class).withAnnotation(Path.class)) {
Resource.Builder childResourceBuilder = resourceBuilder.addChildResource(am.getAnnotation(Path.class).value());
ResourceMethod.Builder methodBuilder =
childResourceBuilder.addMethod(am.getMetaMethodAnnotations(HttpMethod.class).get(0).value())
.consumes(resolveConsumedTypes(am, defaultConsumedTypes))
.produces(resolveProducedTypes(am, defaultProducedTypes))
.encodedParameters(encodedParameters || am.isAnnotationPresent(Encoded.class))
.nameBindings(defaultNameBindings)
.nameBindings(am.getAnnotations())
.handledBy(handlerClass, am.getMethod())
.handlingMethod(am.getDeclaredMethod())
.handlerParameters(resourceClassParameters)
.extended(extended || am.isAnnotationPresent(ExtendedResource.class));
introspectAsyncFeatures(am, methodBuilder);
}
}
代码示例来源:origin: jersey/jersey
private void addSubResourceMethods(
final Resource.Builder resourceBuilder,
final MethodList methodList,
final List<Parameter> resourceClassParameters, // parameters derived from fields and setters on the resource class
final boolean encodedParameters,
final List<MediaType> defaultConsumedTypes,
final List<MediaType> defaultProducedTypes,
final Collection<Class<? extends Annotation>> defaultNameBindings,
final boolean extended
) {
for (AnnotatedMethod am : methodList.withMetaAnnotation(HttpMethod.class).withAnnotation(Path.class)) {
Resource.Builder childResourceBuilder = resourceBuilder.addChildResource(am.getAnnotation(Path.class).value());
ResourceMethod.Builder methodBuilder =
childResourceBuilder.addMethod(am.getMetaMethodAnnotations(HttpMethod.class).get(0).value())
.consumes(resolveConsumedTypes(am, defaultConsumedTypes))
.produces(resolveProducedTypes(am, defaultProducedTypes))
.encodedParameters(encodedParameters || am.isAnnotationPresent(Encoded.class))
.nameBindings(defaultNameBindings)
.nameBindings(am.getAnnotations())
.handledBy(handlerClass, am.getMethod())
.handlingMethod(am.getDeclaredMethod())
.handlerParameters(resourceClassParameters)
.extended(extended || am.isAnnotationPresent(ExtendedResource.class));
introspectAsyncFeatures(am, methodBuilder);
}
}
代码示例来源:origin: jersey/jersey
private void addResourceMethods(
final Resource.Builder resourceBuilder,
final MethodList methodList,
final List<Parameter> resourceClassParameters, // parameters derived from fields and setters on the resource class
final boolean encodedParameters,
final List<MediaType> defaultConsumedTypes,
final List<MediaType> defaultProducedTypes,
final Collection<Class<? extends Annotation>> defaultNameBindings,
final boolean extended
) {
for (AnnotatedMethod am : methodList.withMetaAnnotation(HttpMethod.class).withoutAnnotation(Path.class)) {
ResourceMethod.Builder methodBuilder =
resourceBuilder.addMethod(am.getMetaMethodAnnotations(HttpMethod.class).get(0).value())
.consumes(resolveConsumedTypes(am, defaultConsumedTypes))
.produces(resolveProducedTypes(am, defaultProducedTypes))
.encodedParameters(encodedParameters || am.isAnnotationPresent(Encoded.class))
.nameBindings(defaultNameBindings)
.nameBindings(am.getAnnotations())
.handledBy(handlerClass, am.getMethod())
.handlingMethod(am.getDeclaredMethod())
.handlerParameters(resourceClassParameters)
.extended(extended || am.isAnnotationPresent(ExtendedResource.class));
introspectAsyncFeatures(am, methodBuilder);
}
}
代码示例来源:origin: jersey/jersey
private void addResourceMethods(
final Resource.Builder resourceBuilder,
final MethodList methodList,
final List<Parameter> resourceClassParameters, // parameters derived from fields and setters on the resource class
final boolean encodedParameters,
final List<MediaType> defaultConsumedTypes,
final List<MediaType> defaultProducedTypes,
final Collection<Class<? extends Annotation>> defaultNameBindings,
final boolean extended
) {
for (AnnotatedMethod am : methodList.withMetaAnnotation(HttpMethod.class).withoutAnnotation(Path.class)) {
ResourceMethod.Builder methodBuilder =
resourceBuilder.addMethod(am.getMetaMethodAnnotations(HttpMethod.class).get(0).value())
.consumes(resolveConsumedTypes(am, defaultConsumedTypes))
.produces(resolveProducedTypes(am, defaultProducedTypes))
.encodedParameters(encodedParameters || am.isAnnotationPresent(Encoded.class))
.nameBindings(defaultNameBindings)
.nameBindings(am.getAnnotations())
.handledBy(handlerClass, am.getMethod())
.handlingMethod(am.getDeclaredMethod())
.handlerParameters(resourceClassParameters)
.extended(extended || am.isAnnotationPresent(ExtendedResource.class));
introspectAsyncFeatures(am, methodBuilder);
}
}
代码示例来源:origin: org.glassfish.jersey.core/jersey-server
private static List<MediaType> resolveConsumedTypes(final AnnotatedMethod am, final List<MediaType> defaultConsumedTypes) {
// Override default types if the annotation is present on the method
if (am.isAnnotationPresent(Consumes.class)) {
return extractMediaTypes(am.getAnnotation(Consumes.class));
}
return defaultConsumedTypes;
}
代码示例来源:origin: org.glassfish.jersey.core/jersey-server
private static List<MediaType> resolveProducedTypes(final AnnotatedMethod am, final List<MediaType> defaultProducedTypes) {
// Override default types if the annotation is present on the method
if (am.isAnnotationPresent(Produces.class)) {
return extractMediaTypes(am.getAnnotation(Produces.class));
}
return defaultProducedTypes;
}
内容来源于网络,如有侵权,请联系作者删除!