package org.genedb.web.tags.bool;
import org.genedb.query.NumberedQueryI;
import org.genedb.query.bool.BooleanQuery;
public class QueryTreeWalker {
private int index;
private NumberedQueryI query;
public QueryTreeWalker(NumberedQueryI query, int index) {
this.query = query;
this.index = index;
}
public void go() {
setNode(query);
}
private void setNode(NumberedQueryI node) {
node.setIndex(index);
index++;
if (node instanceof BooleanQuery) {
BooleanQuery bool = (BooleanQuery) node;
setNode(bool.getFirstQuery());
setNode(bool.getSecondQuery());
}
}
}