Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.google.appengine.api.search.query
Class QueryTreeWalker<T extends QueryTreeContext<T>>

    java.lang.Object
      com.google.appengine.api.search.query.QueryTreeWalker<T>

Type Parameters:
  `T` - the context used by the visitor

    public class QueryTreeWalker<T extends QueryTreeContext<T>>

extends java.lang.Object

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

Constructor Summary
`QueryTreeWalker(QueryTreeVisitor<T> visitor)` Creates a new query walker that calls the given `visitor`.

Method Summary
`static Tree` | `simplify(Tree tree)`
`void` | `walk(Tree tree, T context)`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### QueryTreeWalker

    public QueryTreeWalker(QueryTreeVisitor<T> visitor)

  Creates a new query walker that calls the given `visitor`.

  Parameters:
    `visitor` - the visitor to be called by this walker

Method Detail

### walk

    public void walk(Tree tree,
                     T context)
              throws QueryTreeException

  Parameters:
    `tree` - the tree to be walked
    `context` - the context in which the tree is walked
  Throws:
    `QueryTreeException`

### simplify

    public static Tree simplify(Tree tree)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD