// $Id: CQLBooleanNode.java,v 1.18 2007-07-03 16:03:00 mike Exp $
package org.z3950.zing.cql;
+import java.util.List;
import java.util.Properties;
-import java.util.Vector;
-
/**
* Represents a boolean node in a CQL parse-tree.
/**
* The root of a parse-tree representing the left-hand side.
*/
- public CQLNode getLeft() {
+ public CQLNode getLeftOperand() {
return left;
}
/**
* The root of a parse-tree representing the right-hand side.
*/
- public CQLNode getRight() {
+ public CQLNode getRightOperand() {
return right;
}
/**
* The set of modifiers that are applied to this boolean.
*/
- public Vector<Modifier> getModifiers() {
+ public List<Modifier> getModifiers() {
return ms.getModifiers();
}
this.ms = ms;
}
- public String toXCQL(int level, Vector<CQLPrefix> prefixes,
- Vector<ModifierSet> sortkeys) {
- return (indent(level) + "<triple>\n" +
- renderPrefixes(level+1, prefixes) +
- ms.toXCQL(level+1, "boolean") +
- indent(level+1) + "<leftOperand>\n" +
- left.toXCQL(level+2) +
- indent(level+1) + "</leftOperand>\n" +
- indent(level+1) + "<rightOperand>\n" +
- right.toXCQL(level+2) +
- indent(level+1) + "</rightOperand>\n" +
- renderSortKeys(level+1, sortkeys) +
- indent(level) + "</triple>\n");
+ @Override
+ void toXCQLInternal(XCQLBuilder b, int level,
+ List<CQLPrefix> prefixes, List<ModifierSet> sortkeys) {
+ b.indent(level).append("<triple>\n");
+ renderPrefixes(b, level + 1, prefixes);
+ ms.toXCQLInternal(b, level + 1, "boolean", "value");
+ b.indent(level + 1).append("<leftOperand>\n");
+ left.toXCQLInternal(b, level + 2);
+ b.indent(level + 1).append("</leftOperand>\n");
+ b.indent(level + 1).append("<rightOperand>\n");
+ right.toXCQLInternal(b, level + 2);
+ b.indent(level + 1).append("</rightOperand>\n");
+ renderSortKeys(b, level + 1, sortkeys);
+ b.indent(level).append("</triple>\n");
}
+ @Override
public String toCQL() {
// ### We don't always need parens around the operands
return ("(" + left.toCQL() + ")" +
"(" + right.toCQL() + ")");
}
+ @Override
public String toPQF(Properties config) throws PQFTranslationException {
return ("@" + opPQF() +
" " + left.toPQF(config) +
// represents the operation for PQF: overridden for CQLProxNode
String opPQF() { return ms.getBase(); }
+ @Override
public byte[] toType1BER(Properties config) throws PQFTranslationException {
System.out.println("in CQLBooleanNode.toType1BER(): PQF=" +
toPQF(config));