# Class QueryTreeBuilder (5.0.3)

    public class QueryTreeBuilder

A generator of AST representation of a query. This class uses the given factory
to produce a query parser which parses user specified query. If successful it
returns the root of an AST representing the parsed query.

## Inheritance

[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \> QueryTreeBuilder

## Inherited Members

[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) [Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) [Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) [Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) [Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) [Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) [Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) [Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) [Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) [Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) [Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)

## Constructors

### QueryTreeBuilder()

    public QueryTreeBuilder()

### QueryTreeBuilder(QueryParserFactory parserFactory)

    public QueryTreeBuilder(QueryParserFactory parserFactory)

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `parserFactory` | `https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParserFactory` |

## Methods

### parse(String query)

    public CommonTree parse(String query)

Parses the user query and returns its AST.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `query` | `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` the user query to be parsed |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `org.antlr.runtime.tree.CommonTree` | a CommonTree constructed from the query |

| **Exceptions** ||
|---|---|
| **Type** | **Description** |
| `org.antlr.runtime.RecognitionException` | if the user query is invalid |