// $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;
+
+import static org.z3950.zing.cql.Utils.*;
/**
* @version $Id: CQLBooleanNode.java,v 1.18 2007-07-03 16:03:00 mike Exp $
*/
public abstract class CQLBooleanNode extends CQLNode {
+
+ private CQLNode left;
+
/**
* The root of a parse-tree representing the left-hand side.
- */
- public CQLNode left;
+ */
+ public CQLNode getLeft() {
+ return left;
+ }
+
+ private CQLNode right;
/**
* The root of a parse-tree representing the right-hand side.
- */
- public CQLNode right;
+ */
+ public CQLNode getRight() {
+ return right;
+ }
+ ModifierSet ms;
/**
* The set of modifiers that are applied to this boolean.
*/
- public ModifierSet ms;
+ public List<Modifier> getModifiers() {
+ return ms.getModifiers();
+ }
protected CQLBooleanNode(CQLNode left, CQLNode right, ModifierSet ms) {
this.left = left;
this.ms = ms;
}
- public String toXCQL(int level, Vector<CQLPrefix> prefixes,
- Vector<ModifierSet> sortkeys) {
+ @Override
+ public String toXCQL(int level, List<CQLPrefix> prefixes,
+ List<ModifierSet> sortkeys) {
return (indent(level) + "<triple>\n" +
renderPrefixes(level+1, prefixes) +
ms.toXCQL(level+1, "boolean") +
indent(level) + "</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));