Add classes for visitor traversal
[cql-java-moved-to-github.git] / src / main / java / org / z3950 / zing / cql / CQLBooleanNode.java
index f30dd78..1b73ee7 100644 (file)
@@ -1,4 +1,3 @@
-// $Id: CQLBooleanNode.java,v 1.18 2007-07-03 16:03:00 mike Exp $
 
 package org.z3950.zing.cql;
 import java.util.List;
@@ -7,7 +6,6 @@ import java.util.Properties;
 /**
  * Represents a boolean node in a CQL parse-tree.
  *
- * @version    $Id: CQLBooleanNode.java,v 1.18 2007-07-03 16:03:00 mike Exp $
  */
 public abstract class CQLBooleanNode extends CQLNode {
 
@@ -30,6 +28,7 @@ public abstract class CQLBooleanNode extends CQLNode {
     }
 
     ModifierSet ms;
+
     /**
      * The set of modifiers that are applied to this boolean.
      */
@@ -44,6 +43,14 @@ public abstract class CQLBooleanNode extends CQLNode {
     }
 
     @Override
+    public void traverse(CQLNodeVisitor visitor) {
+      visitor.onBooleanNode(this);
+      left.traverse(visitor);
+      right.traverse(visitor);
+    }
+
+
+    @Override
     void toXCQLInternal(XCQLBuilder b, int level,
         List<CQLPrefix> prefixes, List<ModifierSet> sortkeys) {
        b.indent(level).append("<triple>\n");