|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.sling.commons.testing.sling.MockResourceResolver
public class MockResourceResolver
Constructor Summary | |
---|---|
MockResourceResolver()
|
Method Summary | ||
---|---|---|
|
adaptTo(java.lang.Class<AdapterType> type)
Adapts the adaptable to another type. |
|
void |
addChildren(Resource parent,
java.util.Collection<Resource> children)
|
|
void |
addResource(Resource resource)
|
|
java.util.Iterator<Resource> |
findResources(java.lang.String query,
java.lang.String language)
Searches for resources using the given query formulated in the given language. |
|
Resource |
getResource(Resource base,
java.lang.String path)
Returns a Resource object for data located at the given path. |
|
Resource |
getResource(java.lang.String path)
Returns a Resource object for data located at the given path. |
|
java.lang.String[] |
getSearchPath()
Returns the search path used by the ResourceResolver.getResource(String) method
to search for resources by relative path. |
|
java.util.Iterator<Resource> |
listChildren(Resource parent)
Returns an Iterator of Resource objects loaded from
the children of the given Resource . |
|
java.lang.String |
map(javax.servlet.http.HttpServletRequest request,
java.lang.String resourcePath)
Returns an URL mapped from the (resource) path applying the reverse mapping used by the ResourceResolver.resolve(HttpServletRequest, String) such
that when the path is given to the
ResourceResolver.resolve(HttpServletRequest, String) method the same resource is
returned. |
|
java.lang.String |
map(java.lang.String resourcePath)
Returns a path mapped from the (resource) path applying the reverse mapping used by the ResourceResolver.resolve(String) such that when the path is
given to the ResourceResolver.resolve(String) method the same resource is
returned. |
|
java.util.Iterator<java.util.Map<java.lang.String,java.lang.Object>> |
queryResources(java.lang.String query,
java.lang.String language)
Queries the storage using the given query formulated in the given language. |
|
Resource |
resolve(javax.servlet.http.HttpServletRequest request)
Resolves the resource from the given HttpServletRequest . |
|
Resource |
resolve(javax.servlet.http.HttpServletRequest request,
java.lang.String absPath)
Resolves the resource from the given absPath optionally
taking HttpServletRequest into account, such as the value of
the Host request header. |
|
Resource |
resolve(java.lang.String absPath)
Resolves the resource from the given absolute path. |
|
void |
setSearchPath(java.lang.String... searchPath)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public MockResourceResolver()
Method Detail |
---|
public void addResource(Resource resource)
public void addChildren(Resource parent, java.util.Collection<Resource> children)
public Resource resolve(javax.servlet.http.HttpServletRequest request)
ResourceResolver
HttpServletRequest
.
Returns a NonExistingResource
if the path cannot be resolved to
an existing and accessible resource.
This method is deprecated as of API version 2.0.4 and should not be used
anymore. Implementations are expected to implement this method calling
the ResourceResolver.resolve(HttpServletRequest, String)
where the
absPath
argument is the result of calling the
getPathInfo()
on the request
object.
resolve
in interface ResourceResolver
request
- The http servlet request object used to resolve the
resource for. This must not be null
.
Resource
addressed by
HttpServletRequest.getPathInfo()
or a
NonExistingResource
if no such resource can be resolved.public Resource resolve(java.lang.String absPath)
ResourceResolver
NonExistingResource
if the path cannot be resolved to an existing
and accessible resource.
This method is intended to apply the same algorithm to the absolute path
as is used by the ResourceResolver.resolve(HttpServletRequest)
method except for
cases where the latter uses request property such as request headers or
request parameters to resolve a resource.
It is ok for the implementation of this method to just call the
ResourceResolver.resolve(HttpServletRequest, String)
method with
null
as the request argument.
resolve
in interface ResourceResolver
absPath
- The absolute path to be resolved to a resource. If this
parameter is null
, it is assumed to address the
root of the resource tree. If the path is relative it is
assumed relative to the root, that is a slash is prepended to
the path before resolving it.
Resource
addressed by the absPath
or a
NonExistingResource
if no such resource can be resolved.public java.lang.String map(java.lang.String resourcePath)
ResourceResolver
ResourceResolver.resolve(String)
such that when the path is
given to the ResourceResolver.resolve(String)
method the same resource is
returned.
Note, that technically the resourcePath
need not refer to an
existing resource. This method just applies the mappings and returns the
resulting string. If the resourcePath
does not address an
existing resource roundtripping may of course not work and calling
ResourceResolver.resolve(String)
with the path returned may return
null
.
This method is intended as the reverse operation of the
ResourceResolver.resolve(String)
method.
map
in interface ResourceResolver
resourcePath
- The path for which to return a mapped path.
public Resource getResource(java.lang.String path)
ResourceResolver
Resource
object for data located at the given path.
This specification does not define the location for resources or the
semantics for resource paths. For an implementation reading content from
a Java Content Repository, the path could be a
javax.jcr.Item
path from which the resource object is
loaded. In contrast to the ResourceResolver.resolve(String)
method, this method
does not apply any logic to the path, so the path is used as-is to fetch
the content.
getResource
in interface ResourceResolver
path
- The absolute path to the resource object to be loaded. The
path may contain relative path specifiers like .
(current location) and ..
(parent location),
which are resolved by this method. If the path is relative,
that is the first character is not a slash, implementations
are expected to apply a search path algorithm to resolve the
relative path to a resource.
Resource
object loaded from the path or
null
if the path does not resolve to a resource.public Resource getResource(Resource base, java.lang.String path)
ResourceResolver
Resource
object for data located at the given path.
This specification does not define the location for resources or the
semantics for resource paths. For an implementation reading content from
a Java Content Repository, the path could be a
javax.jcr.Item
path from which the resource object is
loaded.
getResource
in interface ResourceResolver
base
- The base Resource
against which a relative path
argument given by path
is resolved. This
parameter may be null
if the path
is
known to be absolute.path
- The path to the resource object to be loaded. If the path is
relative, i.e. does not start with a slash (/
),
the resource relative to the given base
resource
is returned. The path may contain relative path specifiers
like .
(current location) and ..
(parent location), which are resolved by this method.
Resource
object loaded from the path or
null
if the path does not resolve to a resource.public java.lang.String[] getSearchPath()
ResourceResolver
ResourceResolver.getResource(String)
method
to search for resources by relative path. If no search path is set an
empty array is returned.
The returns array of Strings is a copy of the internal value, so modifications to this array have no influence on the operation of the ResourceResolver.
Each entry in the array is an absolute path terminated with a slash character. Thus to create an absolute path from a search path entry and a relative path, the search path entry and relative path may just be concatenated.
getSearchPath
in interface ResourceResolver
public java.util.Iterator<Resource> listChildren(Resource parent)
ResourceResolver
Iterator
of Resource
objects loaded from
the children of the given Resource
.
This specification does not define what the term "child" means. This is
left to the implementation to define. For example an implementation
reading content from a Java Content Repository, the children could be the
Resource
objects loaded from child items of the Item
of the given Resource
.
listChildren
in interface ResourceResolver
parent
- The Resource
whose children are requested.
Iterator
of Resource
objects.public java.util.Iterator<Resource> findResources(java.lang.String query, java.lang.String language)
ResourceResolver
The semantic meaning of the query and language depend on the actual
implementation and storage used for the resources. For JCR repository
being used as storage, the query and lanuage parameters are used to
create a JCR Query
through the QueryManager
.
The result returned is then based on the NodeIterator
provided by the query result.
findResources
in interface ResourceResolver
query
- The query string to use to find the resources.language
- The language in which the query is formulated.
Iterator
of Resource
objects matching the
query.public java.util.Iterator<java.util.Map<java.lang.String,java.lang.Object>> queryResources(java.lang.String query, java.lang.String language)
ResourceResolver
The semantic meaning of the query and language depend on the actual
implementation and storage used for the resources. For JCR repository
being used as storage, the query and lanuage parameters are used to
create a JCR Query
through the QueryManager
.
The result returned is then based on the RowIterator
provided by the query result. The map returned for each row is indexed by
the column name and the column value is the JCR Value
object
converted into the respective Java object, such as Boolean
for a value of property type Boolean.
queryResources
in interface ResourceResolver
query
- The query string to use to find the resources.language
- The language in which the query is formulated.
Iterator
of Map
instances providing
access to the query result.public <AdapterType> AdapterType adaptTo(java.lang.Class<AdapterType> type)
Adaptable
adaptTo
in interface Adaptable
AdapterType
- The generic type to which this resource is adapted
totype
- The Class object of the target type, such as
Node.class
null
if the resource cannot
adapt to the requested typepublic void setSearchPath(java.lang.String... searchPath)
public java.lang.String map(javax.servlet.http.HttpServletRequest request, java.lang.String resourcePath)
ResourceResolver
ResourceResolver.resolve(HttpServletRequest, String)
such
that when the path is given to the
ResourceResolver.resolve(HttpServletRequest, String)
method the same resource is
returned.
Note, that technically the resourcePath
need not refer to an
existing resource. This method just applies the mappings and returns the
resulting string. If the resourcePath
does not address an
existing resource roundtripping may of course not work and calling
ResourceResolver.resolve(HttpServletRequest, String)
with the path returned may
return null
.
This method is intended as the reverse operation of the
ResourceResolver.resolve(HttpServletRequest, String)
method. As such the URL
returned is expected to be an absolute URL including scheme, host, any
servlet context path and the actual path used to resolve the resource.
map
in interface ResourceResolver
request
- The http servlet request object which may be used to apply
more mapping functionality.resourcePath
- The path for which to return a mapped path.
public Resource resolve(javax.servlet.http.HttpServletRequest request, java.lang.String absPath)
ResourceResolver
absPath
optionally
taking HttpServletRequest
into account, such as the value of
the Host
request header. Returns a
NonExistingResource
if the path cannot be resolved to an existing
and accessible resource.
The difference between this method and the ResourceResolver.resolve(String)
method is, that this method may take request properties like the scheme,
the host header or request parameters into account to resolve the
resource.
resolve
in interface ResourceResolver
request
- The http servlet request object providing more hints at
how to resolve the absPath
. This parameter may be
null
in which case the implementation should use
reasonable defaults.absPath
- The absolute path to be resolved to a resource. If this
parameter is null
, it is assumed to address the
root of the resource tree. If the path is relative it is
assumed relative to the root, that is a slash is prepended to
the path before resolving it.
Resource
addressed by the absPath
or a
NonExistingResource
if no such resource can be resolved.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |