Class AbstractResourceCollector
- java.lang.Object
-
- org.apache.sling.servlets.resolver.internal.helper.AbstractResourceCollector
-
- Direct Known Subclasses:
NamedScriptResourceCollector
,ResourceCollector
public abstract class AbstractResourceCollector extends Object
TheResourceCollector
class provides a single public method -#getServlets(ResourceResolver,List
- 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 Summary
Fields Modifier and Type Field Description protected String
baseResourceType
protected static String
CACHE_KEY_CHILDREN_LIST
protected static String
CACHE_KEY_RESOURCES
protected String[]
executionPaths
protected String
extension
protected int
hashCode
protected String
resourceSuperType
protected String
resourceType
protected boolean
useResourceCaching
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addWeightedResource(Set<org.apache.sling.servlets.resolver.internal.helper.WeightedResource> resources, org.apache.sling.api.resource.Resource resource, int numSelectors, int methodPrefixWeight)
Creates aWeightedResource
and adds it to the set of resources.static void
clearCache(@NotNull org.apache.sling.api.resource.ResourceResolver resolver)
boolean
equals(Object obj)
protected @NotNull org.apache.sling.api.resource.Resource
getResource(@NotNull org.apache.sling.api.resource.ResourceResolver resolver, @NotNull String path, boolean useCaching)
Returns a resource for the givenpath
.static @Nullable org.apache.sling.api.resource.Resource
getResourceOrNull(@NotNull org.apache.sling.api.resource.ResourceResolver resolver, @NotNull String path, boolean useCaching)
Resolvers a resource or null if there is no resource resolved from the given path.Collection<org.apache.sling.api.resource.Resource>
getServlets(org.apache.sling.api.resource.ResourceResolver resolver, List<String> scriptExtensions)
protected abstract void
getWeightedResources(Set<org.apache.sling.servlets.resolver.internal.helper.WeightedResource> resources, org.apache.sling.api.resource.Resource location)
int
hashCode()
protected boolean
stringEquals(String s1, String s2)
Helper method to compare two strings which can possibly benull
-
-
-
Field Detail
-
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
-
-
Method Detail
-
getServlets
public final Collection<org.apache.sling.api.resource.Resource> getServlets(org.apache.sling.api.resource.ResourceResolver resolver, List<String> scriptExtensions)
-
getWeightedResources
protected abstract void getWeightedResources(Set<org.apache.sling.servlets.resolver.internal.helper.WeightedResource> resources, org.apache.sling.api.resource.Resource location)
-
addWeightedResource
protected final void addWeightedResource(Set<org.apache.sling.servlets.resolver.internal.helper.WeightedResource> resources, org.apache.sling.api.resource.Resource resource, int numSelectors, int methodPrefixWeight)
Creates aWeightedResource
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 theWeightedResource
is added.resource
- TheResource
on which theWeightedResource
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 org.apache.sling.api.resource.Resource getResource(@NotNull @NotNull org.apache.sling.api.resource.ResourceResolver resolver, @NotNull @NotNull String path, boolean useCaching)
Returns a resource for the givenpath
. If no resource exists at the given path aSyntheticResource
is returned.- Parameters:
resolver
- TheResourceResolver
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.
-
stringEquals
protected boolean stringEquals(String s1, String s2)
Helper method to compare two strings which can possibly benull
-
clearCache
public static void clearCache(@NotNull @NotNull org.apache.sling.api.resource.ResourceResolver resolver)
-
getResourceOrNull
@Nullable public static @Nullable org.apache.sling.api.resource.Resource getResourceOrNull(@NotNull @NotNull org.apache.sling.api.resource.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 usepath
- the path to the resourceuseCaching
- indicates if caching should be used- Returns:
- a resource or null if no resource can be resolved
-
-