Class QueryBuilder
- java.lang.Object
-
- org.apache.jackrabbit.spi.commons.query.sql.QueryBuilder
-
- All Implemented Interfaces:
QueryTreeBuilder
public class QueryBuilder extends Object implements QueryTreeBuilder
Implements the JCR SQL query tree builder.
-
-
Constructor Summary
Constructors Constructor Description QueryBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canHandle(String language)
Returnstrue
if this query tree builder can handle a statement inlanguage
.QueryRootNode
createQueryTree(String statement, NameResolver resolver, QueryNodeFactory factory)
Creates aQueryNode
tree from a statement using the passed query node factory.String[]
getSupportedLanguages()
This builder supportsQuery.SQL
.String
toString(QueryRootNode root, NameResolver resolver)
Creates a String representation of the query node tree in the syntax thisQueryTreeBuilder
can handle.
-
-
-
Method Detail
-
createQueryTree
public QueryRootNode createQueryTree(String statement, NameResolver resolver, QueryNodeFactory factory) throws InvalidQueryException
Creates aQueryNode
tree from a statement using the passed query node factory.- Specified by:
createQueryTree
in interfaceQueryTreeBuilder
- Parameters:
statement
- the statement.resolver
- the name resolver to use.factory
- the query node factory to use.- Returns:
- the
QueryNode
tree for the statement. - Throws:
InvalidQueryException
- if the statement is malformed.
-
canHandle
public boolean canHandle(String language)
Returnstrue
if this query tree builder can handle a statement inlanguage
.- Specified by:
canHandle
in interfaceQueryTreeBuilder
- Parameters:
language
- the language of a query statement to build a query tree.- Returns:
true
if this builder can handlelanguage
;false
otherwise.
-
getSupportedLanguages
public String[] getSupportedLanguages()
This builder supportsQuery.SQL
. Returns the set of query languages supported by this builder.- Specified by:
getSupportedLanguages
in interfaceQueryTreeBuilder
- Returns:
- String array containing the names of the supported languages.
-
toString
public String toString(QueryRootNode root, NameResolver resolver) throws InvalidQueryException
Creates a String representation of the query node tree in the syntax thisQueryTreeBuilder
can handle.- Specified by:
toString
in interfaceQueryTreeBuilder
- Parameters:
root
- the root of the query node tree.resolver
- to resolve Names.- Returns:
- a String representation of the query node tree.
- Throws:
InvalidQueryException
- if the query node tree cannot be converted into a String representation due to restrictions in this syntax.
-
-