/** * */ package querqy.model; /** * @author René Kriegler, @renekrie * */ public class BooleanQuery extends SubQuery<BooleanParent, BooleanClause> implements DisjunctionMaxClause, BooleanClause, BooleanParent, QuerqyQuery<BooleanParent> { public BooleanQuery(final BooleanParent parentQuery, final Occur occur, final boolean generated) { super(parentQuery, occur, generated); } @Override public <T> T accept(final NodeVisitor<T> visitor) { return visitor.visit(this); } @Override public String toString() { return "BooleanQuery [occur=" + occur + ", clauses=" + clauses + "]"; } @Override public BooleanQuery clone(final BooleanParent newParent) { final BooleanQuery bq = new BooleanQuery(newParent, occur, generated); for (final BooleanClause clause : clauses) { bq.addClause(clause.clone(bq)); } return bq; } @Override public BooleanQuery clone(final DisjunctionMaxQuery newParent, boolean generated) { return clone((BooleanParent) newParent, generated); } @Override public BooleanClause clone(final BooleanQuery newParent) { return clone((BooleanParent) newParent); } @Override public BooleanQuery clone(final BooleanParent newParent, final boolean generated) { BooleanQuery bq = new BooleanQuery(newParent, occur, generated); for (BooleanClause clause : clauses) { bq.addClause(clause.clone(bq, generated)); } return bq; } @Override public BooleanClause clone(final BooleanQuery newParent, final boolean generated) { return clone((BooleanParent) newParent, generated); } }