org.glassfish.jersey.server.model.AnnotatedMethod.isAnnotationPresent()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(15.8k)|赞(0)|评价(0)|浏览(107)

本文整理了Java中org.glassfish.jersey.server.model.AnnotatedMethod.isAnnotationPresent()方法的一些代码示例,展示了AnnotatedMethod.isAnnotationPresent()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AnnotatedMethod.isAnnotationPresent()方法的具体详情如下:
包路径:org.glassfish.jersey.server.model.AnnotatedMethod
类名称:AnnotatedMethod
方法名:isAnnotationPresent

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;
}

相关文章