Class ResourceCollector

java.lang.Object
org.apache.sling.servlets.resolver.internal.helper.AbstractResourceCollector
org.apache.sling.servlets.resolver.internal.helper.ResourceCollector

public class ResourceCollector extends AbstractResourceCollector
The ResourceCollector class provides a single public method - #getServlets(ResourceResolver) - which is used to find an ordered collection of Resource instances which may be used to find a servlet or script to handle a request to the given resource.
  • Field Details

    • WEIGHT_NO_MATCH

      protected static final int WEIGHT_NO_MATCH
      The special value returned by #calculatePrefixMethodWeight(Resource, String, boolean) if the resource is not suitable to handle the request according to the location prefix, request selectors and request extension (value is Integer.MIN_VALUE).
      See Also:
  • Constructor Details

    • ResourceCollector

      @Deprecated public ResourceCollector(String methodName, String baseResourceType, Resource resource, String[] executionPaths)
      Deprecated.
      use #ResourceCollector(String, String, Resource, String, String[]) instead.
      Creates a ResourceCollector finding servlets and scripts for the given methodName.
      Parameters:
      methodName - The methodName used to find scripts for. This must not be null.
      baseResourceType - The basic resource type to use as a final resource super type. If this is null the default value org.apache.sling.servlets.resolver.internal.ServletResolverConstants#DEFAULT_SERVLET_NAME is assumed.
      resource - the resource to invoke, the resource type and resource super type are taken from this resource.
      executionPaths - the execution paths to consider
    • ResourceCollector

      public ResourceCollector(String methodName, String baseResourceType, Resource resource, String extension, String[] executionPaths, boolean useResourceCaching)
      Creates a ResourceCollector finding servlets and scripts for the given methodName.
      Parameters:
      methodName - The methodName used to find scripts for. This must not be null.
      baseResourceType - The basic resource type to use as a final resource super type. If this is null the default value org.apache.sling.servlets.resolver.internal.ServletResolverConstants#DEFAULT_SERVLET_NAME is assumed.
      resource - the resource to invoke, the resource type and resource super type are taken from this resource.
      extension - the extension of the request being processed
      executionPaths - the execution paths to consider
  • Method Details

    • create

      public static ResourceCollector create(SlingHttpServletRequest request, String[] executionPaths, String[] defaultExtensions, boolean UseResourceCaching)
      Creates a ResourceCollector for the given request. If the request is a GET or HEAD request, a specialized instance is returned which also takes the request selectors and request extension into account for finding servlet resources. Otherwise an instance of this class itself is returned which just takes the resource type and request method name into account.
      Parameters:
      request - The SlingHttpServletRequest for which to return a ResourceCollector.
      Returns:
      The ResourceCollector to find servlets and scripts suitable for handling the request.
    • create

      public static ResourceCollector create(Resource resource, String extension, String[] executionPaths, String[] defaultExtensions, String methodName, String[] selectors, boolean useResourceCaching)
    • getWeightedResources

      protected void getWeightedResources(Set<org.apache.sling.servlets.resolver.internal.helper.WeightedResource> resources, Resource location)
      Specified by:
      getWeightedResources in class AbstractResourceCollector
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class AbstractResourceCollector
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class AbstractResourceCollector