-// $Id: CQLNode.java,v 1.4 2002-10-25 16:11:05 mike Exp $
+// $Id: CQLNode.java,v 1.9 2002-10-31 22:22:01 mike Exp $
package org.z3950.zing.cql;
/**
- * Represents a node in a CQL parse-tree ...
- * ###
+ * Represents a node in a CQL parse-tree.
+ * ##
*
- * @version $Id: CQLNode.java,v 1.4 2002-10-25 16:11:05 mike Exp $
+ * @version $Id: CQLNode.java,v 1.9 2002-10-31 22:22:01 mike Exp $
*/
public abstract class CQLNode {
abstract String toXCQL(int level);
abstract String toCQL();
- protected String indent(int level) {
- String x = "";
- while (level-- > 0) {
- x += " ";
- }
- return x;
- }
+ // Utility-function abbreviations for the use of subclasses
+ protected static String indent(int level) { return Utils.indent(level); }
+ protected static String xq(String str) { return Utils.xq(str); }
// Test harness
public static void main (String[] args) {
- CQLNode n1 = new CQLTermNode("dc.author", "=", "kernighan");
- CQLNode n2 = new CQLTermNode("dc.title", "all", "elements style");
+ CQLNode n1 = new CQLTermNode("dc.author",
+ new CQLRelation("="),
+ "kernighan");
+ CQLNode n2 = new CQLTermNode("dc.title",
+ new CQLRelation("all"),
+ "elements style");
CQLNode root = new CQLAndNode(n1, n2);
System.out.println(root.toXCQL(0));
}