org.apache.jackrabbit.spi.commons.query
Class QueryParser

java.lang.Object
  extended by org.apache.jackrabbit.spi.commons.query.QueryParser

public class QueryParser
extends Object

This class acts as the central entry point for parsing query statements from different query syntaxes into a query tree.


Method Summary
static QueryRootNode parse(String statement, String language, NameResolver resolver, QueryNodeFactory factory)
          Parses a query statement according to a query language into a query tree.
static String toString(QueryRootNode root, String language, NameResolver resolver)
          Creates a String representation of the QueryNode tree argument root.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

parse

public static QueryRootNode parse(String statement,
                                  String language,
                                  NameResolver resolver,
                                  QueryNodeFactory factory)
                           throws InvalidQueryException
Parses a query statement according to a query language into a query tree.

language must be one of: Query.SQL, Query.XPATH.

Parameters:
statement - the query statement.
language - the language of the query statement.
factory - the query node factory.
Returns:
the root node of the generated query tree.
Throws:
InvalidQueryException - if an error occurs while parsing the statement.

toString

public static String toString(QueryRootNode root,
                              String language,
                              NameResolver resolver)
                       throws InvalidQueryException
Creates a String representation of the QueryNode tree argument root. The argument language specifies the syntax. See also: QueryManager.getSupportedQueryLanguages().

Parameters:
root - the query node tree.
language - one of the languages returned by: QueryManager.getSupportedQueryLanguages().
resolver - to resolve QNames.
Returns:
a String representation of the query node tree.
Throws:
InvalidQueryException - if the query node tree cannot be converted into a String representation of the given language. This might be due to syntax restrictions of the given language. This exception is also thrown if language is not one of the supported query languages returned by the QueryManager.


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.