X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Forg%2Fz3950%2Fzing%2Fcql%2FCQLBooleanNode.java;h=56c212fc66c1595bb29bc17f518222b09a038cdb;hb=f8154c71944186a9b64ddb782082a2026c5a912f;hp=c56aac40cb31f5f6ad71a58c32c6176d32cad051;hpb=069f263b3422968c95d2b2a74291f04dfcdb15ac;p=cql-java-moved-to-github.git
diff --git a/src/org/z3950/zing/cql/CQLBooleanNode.java b/src/org/z3950/zing/cql/CQLBooleanNode.java
index c56aac4..56c212f 100644
--- a/src/org/z3950/zing/cql/CQLBooleanNode.java
+++ b/src/org/z3950/zing/cql/CQLBooleanNode.java
@@ -1,15 +1,36 @@
-// $Id: CQLBooleanNode.java,v 1.2 2002-10-25 16:11:05 mike Exp $
+// $Id: CQLBooleanNode.java,v 1.6 2002-10-31 22:22:01 mike Exp $
package org.z3950.zing.cql;
/**
- * Represents a boolean node in a CQL parse-tree ...
- * ###
+ * Represents a boolean node in a CQL parse-tree.
+ * ##
*
- * @version $Id: CQLBooleanNode.java,v 1.2 2002-10-25 16:11:05 mike Exp $
+ * @version $Id: CQLBooleanNode.java,v 1.6 2002-10-31 22:22:01 mike Exp $
*/
public abstract class CQLBooleanNode extends CQLNode {
protected CQLNode left;
protected CQLNode right;
+
+ abstract String op();
+
+ String toXCQL(int level) {
+ return (indent(level) + "\n" +
+ booleanXQL(level+1) +
+ left.toXCQL(level+1) +
+ right.toXCQL(level+1) +
+ indent(level) + "\n");
+ }
+
+ String booleanXQL(int level) {
+ return(indent(level) + "\n" +
+ indent(level+1) + "" + op() + "\n" +
+ indent(level) + "\n");
+ }
+
+ String toCQL() {
+ // ### We don't always need parens around the operands
+ return "(" + left.toCQL() + ") " + op() + " (" + right.toCQL() + ")";
+ }
}