## Classes

### [ExpressionLexer](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionLexer)

### [ExpressionLexer.DFA16](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionLexer.DFA16)

### [ExpressionLexer.DFA9](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionLexer.DFA9)

### [ExpressionParser](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser)

### [ExpressionParser.DFA10](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.DFA10)

### [ExpressionParser.addExpr_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.addExpr_return)

### [ExpressionParser.addOp_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.addOp_return)

### [ExpressionParser.atom_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.atom_return)

### [ExpressionParser.cmpExpr_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.cmpExpr_return)

### [ExpressionParser.cmpOp_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.cmpOp_return)

### [ExpressionParser.condExpr_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.condExpr_return)

### [ExpressionParser.conjunction_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.conjunction_return)

### [ExpressionParser.disjunction_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.disjunction_return)

### [ExpressionParser.expression_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.expression_return)

### [ExpressionParser.fnName_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.fnName_return)

### [ExpressionParser.fn_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.fn_return)

### [ExpressionParser.index_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.index_return)

### [ExpressionParser.multExpr_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.multExpr_return)

### [ExpressionParser.multOp_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.multOp_return)

### [ExpressionParser.name_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.name_return)

### [ExpressionParser.negation_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.negation_return)

### [ExpressionParser.num_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.num_return)

### [ExpressionParser.str_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.str_return)

### [ExpressionParser.unary_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.unary_return)

### [ExpressionParser.var_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionParser.var_return)

### [ExpressionTreeBuilder](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ExpressionTreeBuilder)

A generator of AST representation of an expression. This class can use an
optionally supplied CommonTreeAdaptor to process the tree further.
If successful it returns the root of an AST representing the parsed query.

### [ParserUtils](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.ParserUtils)

A helper class that holds various, state-less utility
functions used by the query parser.

### [QueryLexer](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryLexer)

### [QueryParser](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser)

### [QueryParser.DFA10](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.DFA10)

### [QueryParser.DFA11](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.DFA11)

### [QueryParser.DFA14](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.DFA14)

### [QueryParser.DFA4](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.DFA4)

### [QueryParser.DFA5](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.DFA5)

### [QueryParser.DFA6](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.DFA6)

### [QueryParser.DFA8](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.DFA8)

### [QueryParser.DFA9](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.DFA9)

### [QueryParser.andOp_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.andOp_return)

### [QueryParser.arg_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.arg_return)

### [QueryParser.arglist_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.arglist_return)

### [QueryParser.comparable_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.comparable_return)

### [QueryParser.comparator_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.comparator_return)

### [QueryParser.composite_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.composite_return)

### [QueryParser.expression_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.expression_return)

### [QueryParser.factor_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.factor_return)

### [QueryParser.function_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.function_return)

### [QueryParser.item_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.item_return)

### [QueryParser.member_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.member_return)

### [QueryParser.notOp_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.notOp_return)

### [QueryParser.orOp_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.orOp_return)

### [QueryParser.phrase_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.phrase_return)

### [QueryParser.primitive_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.primitive_return)

### [QueryParser.query_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.query_return)

### [QueryParser.restriction_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.restriction_return)

### [QueryParser.sep_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.sep_return)

### [QueryParser.sequence_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.sequence_return)

### [QueryParser.term_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.term_return)

### [QueryParser.text_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.text_return)

### [QueryParser.value_return](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser.value_return)

### [QueryParserFactory](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParserFactory)

A factory which produces [QueryParsers](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryParser) for a given
token rewrite stream.

### [QueryTreeBuilder](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.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.

### [QueryTreeContext\<T\>](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryTreeContext)

The base class for specific query tree context used by the walker.
This class is used to maintain additional information gathered while
walking the tree. On this level it is used to collect return type
information.

### [QueryTreeWalker\<T\>](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryTreeWalker)

The walking of the query tree. This class takes care of visiting
a tree resulting from parsing a query. As it traverses the tree
it calls appropriate methods of the visitor, set at the construction
time. The class uses a depth-first search, visiting all children
of a node, before visiting the node. The visit is done by calling
an appropriate method of the visitor. Typical code should match
the following pattern:


     class MyVisitor implements QueryTreeVisitor {
       ...
     }
     class MyContext extends QueryTreeContext<MyContext> {
       ...
       @Override
       protected MyContext newChildContext() {
         return new MyContext();
       }
     }

     MyContext context = new MyContext();
     QueryTreeWalker<MyContext> walker = new QueryTreeWalker<MyContext>(new MyVisitor());
     Tree root = parser.query(queryStr);
     walker.walk(root, context);
     // retrieve whatever information you need from context
     
## Interfaces

### [QueryTreeVisitor\<T\>](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryTreeVisitor)

Defines an interface of the visitor invoked by the walker.

## Enums

### [QueryTreeContext.Kind](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryTreeContext.Kind)

Enumeration of the kind of the term that has a given return
type. This enum makes more precise the return type. For example,
if the return type is TEXT, and the Kind is PHRASE, this means
that the caller supplied "..." as the query term.

### [QueryTreeContext.RewriteMode](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryTreeContext.RewriteMode)

Enumeration of text terms rewrite mode.

### [QueryTreeContext.Type](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryTreeContext.Type)

Enumeration of supported return types.

## Exceptions

### [QueryTreeException](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.query.QueryTreeException)

A parsing exception thrown when the tree resulting from
parsing a query is in some sense invalid.