Add classes for visitor traversal
[cql-java-moved-to-github.git] / src / main / java / org / z3950 / zing / cql / Modifier.java
index d85c8a1..71232e9 100644 (file)
@@ -1,9 +1,6 @@
-// $Id: Modifier.java,v 1.4 2007-07-03 13:29:34 mike Exp $
 
 package org.z3950.zing.cql;
 
-import static org.z3950.zing.cql.Utils.*;
-
 /**
  * Represents a single modifier, consisting of three elements: a type,
  * a comparision and a value.  For example, "distance", "<", "3".  The
@@ -12,7 +9,6 @@ import static org.z3950.zing.cql.Utils.*;
  * <P>
  * This class is used only by ModifierSet.
  *
- * @version $Id: Modifier.java,v 1.4 2007-07-03 13:29:34 mike Exp $
  */
 public class Modifier {
     String type;
@@ -60,22 +56,17 @@ public class Modifier {
        return value;
     }
 
-    public String toXCQL(int level, String relationElement) {
-       StringBuilder buf = new StringBuilder();
-
-       buf.append(indent(level)).append("<modifier>\n").
-            append(indent(level + 1)).append("<type>").
-            append(xq(type)).append("</type>\n");
+    void toXCQLInternal(XCQLBuilder b, int level, String relationElement) {
+       b.indent(level).append("<modifier>\n");
+        b.indent(level + 1).append("<type>");
+        b.xq(type).append("</type>\n");
        if (value != null) {
-           buf.append(indent(level + 1)).append("<").
-              append(relationElement).append(">").
-              append(xq(comparison)).append("</").
-              append(relationElement).append(">\n").
-              append(indent(level + 1)).append("<value>").
-              append(xq(value)).append("</value>\n");
+            b.indent(level + 1).append("<").append(relationElement).append(">");
+            b.xq(comparison).append("</").append(relationElement).append(">\n");
+            b.indent(level + 1).append("<value>");
+            b.xq(value).append("</value>\n");
        }
-       buf.append(indent(level)).append("</modifier>\n");
-       return buf.toString();
+       b.indent(level).append("</modifier>\n");
     }
 
     public String toCQL() {