Class AbstractResourceCollector

java.lang.Object
org.apache.sling.servlets.resolver.internal.helper.AbstractResourceCollector
Direct Known Subclasses:
NamedScriptResourceCollector, ResourceCollector

public abstract class AbstractResourceCollector extends Object
The ResourceCollector class provides a single public method - getServlets(ResourceResolver,List<String>) - 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

    • CACHE_KEY_CHILDREN_LIST

      protected static final String CACHE_KEY_CHILDREN_LIST
    • CACHE_KEY_RESOURCES

      protected static final String CACHE_KEY_RESOURCES
    • baseResourceType

      protected final String baseResourceType
    • extension

      protected final String extension
    • hashCode

      protected int hashCode
    • resourceType

      protected final String resourceType
    • resourceSuperType

      protected final String resourceSuperType
    • executionPaths

      protected final String[] executionPaths
    • useResourceCaching

      protected boolean useResourceCaching
  • Constructor Details

    • AbstractResourceCollector

      protected AbstractResourceCollector(String baseResourceType, String resourceType, String resourceSuperType, String extension, String[] executionPaths, boolean useResourceCaching)
  • Method Details

    • getServlets

      public final Collection<Resource> getServlets(ResourceResolver resolver, List<String> scriptExtensions)
    • getWeightedResources

      protected abstract void getWeightedResources(Set<org.apache.sling.servlets.resolver.internal.helper.WeightedResource> resources, Resource location)
    • addWeightedResource

      protected final void addWeightedResource(Set<org.apache.sling.servlets.resolver.internal.helper.WeightedResource> resources, Resource resource, int numSelectors, int methodPrefixWeight)
      Creates a WeightedResource and adds it to the set of resources. The number of resources already present in the set is used as the ordinal number for the newly created resource.
      Parameters:
      resources - The set of resource to which the WeightedResource is added.
      resource - The Resource on which the WeightedResource is based.
      numSelectors - The number of request selectors which are matched by the name of the resource.
      methodPrefixWeight - The method/prefix weight assigned to the resource according to the resource name.
    • getResource

      @NotNull protected final @NotNull Resource getResource(@NotNull @NotNull ResourceResolver resolver, @NotNull @NotNull String path, boolean useCaching)
      Returns a resource for the given path. If no resource exists at the given path a SyntheticResource is returned.
      Parameters:
      resolver - The ResourceResolver used to access the resource.
      path - The absolute path of the resource to return.
      Returns:
      The actual resource at the given path or a synthetic resource representing the path location.
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • stringEquals

      protected boolean stringEquals(String s1, String s2)
      Helper method to compare two strings which can possibly be null
    • clearCache

      public static void clearCache(@NotNull @NotNull ResourceResolver resolver)
    • getResourceOrNull

      @Nullable public static @Nullable Resource getResourceOrNull(@NotNull @NotNull ResourceResolver resolver, @NotNull @NotNull String path, boolean useCaching)
      Resolvers a resource or null if there is no resource resolved from the given path.
      Parameters:
      resolver - the resourceResolver to use
      path - the path to the resource
      useCaching - indicates if caching should be used
      Returns:
      a resource or null if no resource can be resolved