@ConsumerType
public interface QueryLanguageProvider<T>
ResourceResolver.findResources(String, String)
and
ResourceResolver.queryResources(String, String)
are passed on
to this object.Modifier and Type | Method and Description |
---|---|
Iterator<Resource> |
findResources(ResolveContext<T> ctx,
String query,
String language)
Searches for resources using the given query formulated in the given
language.
|
String[] |
getSupportedLanguages(ResolveContext<T> ctx)
The supported languages of the resource provider.
|
Iterator<ValueMap> |
queryResources(ResolveContext<T> ctx,
String query,
String language)
Queries the storage using the given query formulated in the given
language.
|
String[] getSupportedLanguages(@Nonnull ResolveContext<T> ctx)
ctx
- The resolve contextIterator<Resource> findResources(@Nonnull ResolveContext<T> ctx, String query, String language)
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 language 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.
ctx
- The resolve contextquery
- 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. If no resources match, null
might be
returned instead of an empty iterator.QuerySyntaxException
- If the query is not syntactically correct
according to the query language indicator or if the query
language is not supported as specified in getSupportedLanguages(ResolveContext)
.SlingException
- If an error occurs querying
for the resources.IllegalStateException
- if this resource provider has already been
closed.Iterator<ValueMap> queryResources(@Nonnull ResolveContext<T> ctx, String query, String language)
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 language 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.
ctx
- The resolve contextquery
- 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. If no resources match, null
might be returned instead of an empty iterator.QuerySyntaxException
- If the query is not syntactically correct
according to the query language indicator or if the query
language is not supported as specified in getSupportedLanguages(ResolveContext)
.SlingException
- If an error occurs querying
for the resources.IllegalStateException
- if this resource provider has already been
closed.Copyright © 2017 The Apache Software Foundation. All rights reserved.