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

x33g5p2x  于2022-01-29 转载在 其他  
字(11.4k)|赞(0)|评价(0)|浏览(99)

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

Resource.getHandlerClasses介绍

[英]Get the method handler classes for the resource methods registered on the resource.
[中]获取资源上注册的资源方法的方法处理程序类。

代码示例

代码示例来源:origin: jersey/jersey

/**
 * Register a new programmatically created resource model.
 *
 * @param resourceModel programmatically created resource model.
 */
void registerProgrammaticResource(Resource resourceModel) {
  registerModel(resourceModel);
  classes.addAll(resourceModel.getHandlerClasses());
  instances.addAll(resourceModel.getHandlerInstances());
}

代码示例来源:origin: jersey/jersey

/**
 * Register a new programmatically created resource model.
 *
 * @param resourceModel programmatically created resource model.
 */
void registerProgrammaticResource(Resource resourceModel) {
  registerModel(resourceModel);
  classes.addAll(resourceModel.getHandlerClasses());
  instances.addAll(resourceModel.getHandlerInstances());
}

代码示例来源:origin: jersey/jersey

/**
 * @param ar   abstract resource
 * @param path resources path
 * @return resource
 * @see org.glassfish.jersey.server.wadl.WadlGenerator#createResource(org.glassfish.jersey.server.model.Resource, String)
 */
public Resource createResource(final org.glassfish.jersey.server.model.Resource ar, final String path) {
  for (final Class<?> resClass : ar.getHandlerClasses()) {
    final XmlSeeAlso seeAlso = resClass.getAnnotation(XmlSeeAlso.class);
    if (seeAlso != null) {
      Collections.addAll(seeAlsoClasses, seeAlso.value());
    }
  }
  return wadlGeneratorDelegate.createResource(ar, path);
}

代码示例来源:origin: jersey/jersey

/**
 * @param ar   abstract resource
 * @param path resources path
 * @return resource
 * @see org.glassfish.jersey.server.wadl.WadlGenerator#createResource(org.glassfish.jersey.server.model.Resource, String)
 */
public Resource createResource(final org.glassfish.jersey.server.model.Resource ar, final String path) {
  for (final Class<?> resClass : ar.getHandlerClasses()) {
    final XmlSeeAlso seeAlso = resClass.getAnnotation(XmlSeeAlso.class);
    if (seeAlso != null) {
      Collections.addAll(seeAlsoClasses, seeAlso.value());
    }
  }
  return wadlGeneratorDelegate.createResource(ar, path);
}

代码示例来源:origin: jersey/jersey

/**
   * Determines whether the given methods can enhance the resource.
   *
   * @param resource resource to add the methods to.
   * @param methods methods to add.
   * @return {@code true} if methods can enhance the resource, {@code false} otherwise.
   */
  private static boolean methodsSuitableForResource(final Resource resource, final List<Method> methods) {
    if (!resource.getResourceMethods().isEmpty()) {
      return true;
    }

    // If there are no handler classes/instances we want to add only non-HEAD / non-OPTIONS methods.
    if (resource.getHandlerInstances().isEmpty() && resource.getHandlerClasses().isEmpty()) {
      for (final Method method : methods) {
        if (!HttpMethod.HEAD.equals(method.httpMethod) && !HttpMethod.OPTIONS.equals(method.httpMethod)) {
          return true;
        }
      }
    }
    return false;
  }
}

代码示例来源:origin: jersey/jersey

/**
   * Determines whether the given methods can enhance the resource.
   *
   * @param resource resource to add the methods to.
   * @param methods methods to add.
   * @return {@code true} if methods can enhance the resource, {@code false} otherwise.
   */
  private static boolean methodsSuitableForResource(final Resource resource, final List<Method> methods) {
    if (!resource.getResourceMethods().isEmpty()) {
      return true;
    }

    // If there are no handler classes/instances we want to add only non-HEAD / non-OPTIONS methods.
    if (resource.getHandlerInstances().isEmpty() && resource.getHandlerClasses().isEmpty()) {
      for (final Method method : methods) {
        if (!HttpMethod.HEAD.equals(method.httpMethod) && !HttpMethod.OPTIONS.equals(method.httpMethod)) {
          return true;
        }
      }
    }
    return false;
  }
}

代码示例来源:origin: Graylog2/graylog2-server

private void logResources(List<Resource> resources) {
  final List<ResourceDescription> resourceDescriptions = new ArrayList<>();
  for (Resource resource : resources) {
    for (ResourceMethod resourceMethod : resource.getAllMethods()) {
      final String path = RestTools.getPathFromResource(resource);
      resourceDescriptions.add(new ResourceDescription(resourceMethod.getHttpMethod(), path, resource.getHandlerClasses()));
    }
  }
  Collections.sort(resourceDescriptions);
  for (ResourceDescription resource : resourceDescriptions) {
    LOG.debug(resource.toString());
  }
}

代码示例来源:origin: jersey/jersey

private void bindEnhancingResourceClasses(
    InjectionManager injectionManager,
    ServerBootstrapBag bootstrapBag,
    ResourceModel resourceModel,
    ResourceBag resourceBag,
    ResourceConfig runtimeConfig) {
  Set<Class<?>> newClasses = new HashSet<>();
  Set<Object> newInstances = new HashSet<>();
  for (final Resource res : resourceModel.getRootResources()) {
    newClasses.addAll(res.getHandlerClasses());
    newInstances.addAll(res.getHandlerInstances());
  }
  newClasses.removeAll(resourceBag.classes);
  newInstances.removeAll(resourceBag.instances);
  ComponentBag emptyComponentBag = ComponentBag.newInstance(input -> false);
  bindProvidersAndResources(injectionManager, bootstrapBag, emptyComponentBag, newClasses, newInstances, runtimeConfig);
}

代码示例来源:origin: jersey/jersey

private void bindEnhancingResourceClasses(
    InjectionManager injectionManager,
    ServerBootstrapBag bootstrapBag,
    ResourceModel resourceModel,
    ResourceBag resourceBag,
    ResourceConfig runtimeConfig) {
  Set<Class<?>> newClasses = new HashSet<>();
  Set<Object> newInstances = new HashSet<>();
  for (final Resource res : resourceModel.getRootResources()) {
    newClasses.addAll(res.getHandlerClasses());
    newInstances.addAll(res.getHandlerInstances());
  }
  newClasses.removeAll(resourceBag.classes);
  newInstances.removeAll(resourceBag.instances);
  ComponentBag emptyComponentBag = ComponentBag.newInstance(input -> false);
  bindProvidersAndResources(injectionManager, bootstrapBag, emptyComponentBag, newClasses, newInstances, runtimeConfig);
}

代码示例来源:origin: jersey/jersey

@Override
  public Void call() {
    for (final Object handlerInstance : resource.getHandlerInstances()) {
      final Class<?> handlerInstanceClass = handlerInstance.getClass();
      if (!resource.getHandlerClasses().contains(handlerInstanceClass)) {
        createEnhancingMethods(handlerInstanceClass, handlerInstance, newMethods);
      } else {
        Errors.warning(resource,
            LocalizationMessages.TEMPLATE_HANDLER_ALREADY_ENHANCED(handlerInstanceClass));
      }
    }
    return null;
  }
});

代码示例来源:origin: jersey/jersey

private void visitResourceIntl(final Resource resource, final boolean isRoot) {
  try {
    stack.addLast(resource.getPathPattern());
    processComponents(resource);
    if (isRoot) {
      Class likelyToBeRoot = null;
      for (final Class next : resource.getHandlerClasses()) {
        if (!(Inflector.class.isAssignableFrom(next))) {
          likelyToBeRoot = next;
        }
      }
      if (likelyToBeRoot != null) {
        mappings.put(likelyToBeRoot, getMapping(getTemplate()));
      }
    }
  } finally {
    stack.removeLast();
  }
}

代码示例来源:origin: Graylog2/graylog2-server

@Override
public ResourceModel processResourceModel(ResourceModel model, Configuration config) {
  // Create new resource model.
  final ResourceModel.Builder resourceModelBuilder = new ResourceModel.Builder(false);
  for (final Resource resource : model.getResources()) {
    for (Class handlerClass : resource.getHandlerClasses()) {
      final String packageName = handlerClass.getPackage().getName();
      final Optional<String> packagePrefix = packagePrefixes.entrySet().stream()
          .filter(entry -> packageName.startsWith(entry.getKey()))
          .sorted((o1, o2) -> -o1.getKey().compareTo(o2.getKey()))
          .map(Map.Entry::getValue)
          .findFirst();
      if (packagePrefix.isPresent()) {
        final String prefixedPath = prefixPath(packagePrefix.get(), resource.getPath());
        final Resource newResource = Resource.builder(resource)
            .path(prefixedPath)
            .build();
        resourceModelBuilder.addResource(newResource);
      } else {
        resourceModelBuilder.addResource(resource);
      }
    }
  }
  return resourceModelBuilder.build();
}

代码示例来源:origin: jersey/jersey

for (final Class<?> handlerClass : resource.getHandlerClasses()) {
  createEnhancingMethods(handlerClass, null, newMethods);
if (resource.getHandlerClasses().isEmpty() && resource.getHandlerInstances().isEmpty()) {
  for (String resourceName : resource.getNames()) {
    final Class<Object> resourceClass = AccessController

代码示例来源:origin: jersey/jersey

/**
 * @param r Jersey resource component for which the WADL reource is to be created.
 * @param path path where the resource is exposed.
 * @return the enhanced {@link com.sun.research.ws.wadl.Resource}.
 * @see org.glassfish.jersey.server.wadl.WadlGenerator#createResource(org.glassfish.jersey.server.model.Resource, String)
 */
public Resource createResource(final org.glassfish.jersey.server.model.Resource r, final String path) {
  final Resource result = delegate.createResource(r, path);
  for (final Class<?> resourceClass : r.getHandlerClasses()) {
    final ClassDocType classDoc = resourceDoc.getClassDoc(resourceClass);
    if (classDoc != null && !isEmpty(classDoc.getCommentText())) {
      final Doc doc = new Doc();
      doc.getContent().add(classDoc.getCommentText());
      result.getDoc().add(doc);
    }
  }
  return result;
}

代码示例来源:origin: jersey/jersey

/**
 * @param r Jersey resource component for which the WADL reource is to be created.
 * @param path path where the resource is exposed.
 * @return the enhanced {@link com.sun.research.ws.wadl.Resource}.
 * @see org.glassfish.jersey.server.wadl.WadlGenerator#createResource(org.glassfish.jersey.server.model.Resource, String)
 */
public Resource createResource(final org.glassfish.jersey.server.model.Resource r, final String path) {
  final Resource result = delegate.createResource(r, path);
  for (final Class<?> resourceClass : r.getHandlerClasses()) {
    final ClassDocType classDoc = resourceDoc.getClassDoc(resourceClass);
    if (classDoc != null && !isEmpty(classDoc.getCommentText())) {
      final Doc doc = new Doc();
      doc.getContent().add(classDoc.getCommentText());
      result.getDoc().add(doc);
    }
  }
  return result;
}

代码示例来源:origin: jersey/jersey

sb.append(LocalizationMessages.LOGGING_ROOT_RESOURCE_CLASSES()).append(":");
for (final Resource r : rootResourceClasses) {
  for (final Class clazz : r.getHandlerClasses()) {
    sb.append('\n').append("  ").append(clazz.getName());

代码示例来源:origin: jersey/jersey

sb.append(LocalizationMessages.LOGGING_ROOT_RESOURCE_CLASSES()).append(":");
for (final Resource r : rootResourceClasses) {
  for (final Class clazz : r.getHandlerClasses()) {
    sb.append('\n').append("  ").append(clazz.getName());

代码示例来源:origin: jersey/jersey

private LocatorRouting buildRouting(final Resource subResource) {
  final ResourceModel model = new ResourceModel.Builder(true).addResource(subResource).build();
  final ResourceModel enhancedModel = enhance(model);
  if (!disableValidation) {
    validateResource(enhancedModel);
  }
  final Resource enhancedLocator = enhancedModel.getResources().get(0);
  for (final Class<?> handlerClass : enhancedLocator.getHandlerClasses()) {
    resourceContext.bindResource(handlerClass);
  }
  return new LocatorRouting(enhancedModel,
      runtimeModelBuilder.buildModel(enhancedModel.getRuntimeResourceModel(), true));
}

代码示例来源:origin: jersey/jersey

private LocatorRouting buildRouting(final Resource subResource) {
  final ResourceModel model = new ResourceModel.Builder(true).addResource(subResource).build();
  final ResourceModel enhancedModel = enhance(model);
  if (!disableValidation) {
    validateResource(enhancedModel);
  }
  final Resource enhancedLocator = enhancedModel.getResources().get(0);
  for (final Class<?> handlerClass : enhancedLocator.getHandlerClasses()) {
    resourceContext.bindResource(handlerClass);
  }
  return new LocatorRouting(enhancedModel,
      runtimeModelBuilder.buildModel(enhancedModel.getRuntimeResourceModel(), true));
}

代码示例来源:origin: org.glassfish.jersey.core/jersey-server

/**
 * Register a new programmatically created resource model.
 *
 * @param resourceModel programmatically created resource model.
 */
void registerProgrammaticResource(Resource resourceModel) {
  registerModel(resourceModel);
  classes.addAll(resourceModel.getHandlerClasses());
  instances.addAll(resourceModel.getHandlerInstances());
}

相关文章