Interface QueryTreeBuilder

All Known Implementing Classes:
QueryBuilder, QueryBuilder

public interface QueryTreeBuilder
Specifies an interface for a query tree builder.
  • Method Details

    • createQueryTree

      QueryRootNode createQueryTree(String statement, NameResolver resolver, QueryNodeFactory factory) throws InvalidQueryException
      Creates a QueryNode 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)
      Returns true if this query tree builder can handle a statement in language.
      Parameters:
      language - the language of a query statement to build a query tree.
      Returns:
      true if this builder can handle language; 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 this QueryTreeBuilder 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.