Interface QueryTreeBuilder
-
- All Known Implementing Classes:
QueryBuilder
,QueryBuilder
public interface QueryTreeBuilder
Specifies an interface for a query tree builder.
-
-
Method Summary
All Methods Instance Methods Abstract 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()
Returns the set of query languages supported by this builder.String
toString(QueryRootNode root, NameResolver resolver)
Creates a String representation of the query node tree in the syntax thisQueryTreeBuilder
can handle.
-
-
-
Method Detail
-
createQueryTree
QueryRootNode createQueryTree(String statement, NameResolver resolver, QueryNodeFactory factory) throws InvalidQueryException
Creates aQueryNode
tree from a statement using the passed query node factory.- 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
boolean canHandle(String language)
Returnstrue
if this query tree builder can handle a statement inlanguage
.- Parameters:
language
- the language of a query statement to build a query tree.- Returns:
true
if this builder can handlelanguage
;false
otherwise.
-
getSupportedLanguages
String[] getSupportedLanguages()
Returns the set of query languages supported by this builder.- Returns:
- String array containing the names of the supported languages.
-
toString
String toString(QueryRootNode root, NameResolver resolver) throws InvalidQueryException
Creates a String representation of the query node tree in the syntax thisQueryTreeBuilder
can handle.- 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.
-
-