Fix PQF documentation to reference online YAZ manual. Remove BNF.
[cql-java-moved-to-github.git] / src / org / z3950 / zing / cql / ModifierSet.java
index 18d8c9d..8b8c245 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ModifierSet.java,v 1.1 2002-10-31 22:22:01 mike Exp $
+// $Id: ModifierSet.java,v 1.4 2002-11-06 20:13:45 mike Exp $
 
 package org.z3950.zing.cql;
 import java.util.Vector;
@@ -11,7 +11,7 @@ import java.lang.StringBuffer;
  * CQLProxNode - two functionally very separate classes that happen to
  * require the same data structures and functionality.
  *
- * @version $Id: ModifierSet.java,v 1.1 2002-10-31 22:22:01 mike Exp $
+ * @version $Id: ModifierSet.java,v 1.4 2002-11-06 20:13:45 mike Exp $
  */
 public class ModifierSet {
     String base;
@@ -22,6 +22,10 @@ public class ModifierSet {
        modifiers = new Vector();
     }
 
+    public String getBase() {
+       return base;
+    }
+
     public void addModifier(String type, String value) {
        Vector modifier = new Vector();
        modifier.add(type);
@@ -29,6 +33,16 @@ public class ModifierSet {
        modifiers.add(modifier);
     }
 
+    public String modifier(String type) {
+       int n = modifiers.size();
+       for (int i = 0; i < n; i++) {
+           Vector pair = (Vector) modifiers.get(i);
+           if (pair.get(0).equals(type))
+               return (String) pair.get(1);
+       }
+       return null;
+    }
+
     public Vector[] getModifiers() {
        int n = modifiers.size();
        Vector[] res = new Vector[n];
@@ -50,18 +64,15 @@ public class ModifierSet {
            for (int i = 0; i < mods.length; i++) {
                Vector modifier = mods[i];
                buf.append(Utils.indent(level+2)).
-                   append("<modifier>\n");
+                   append("<modifier>");
                if (modifier.get(0) != null)
-                   buf.append(Utils.indent(level+3)).
-                       append("<type>").
+                   buf.append("<type>").
                        append(Utils.xq((String) modifier.get(0))).
-                       append("</type>\n");
-               buf.append(Utils.indent(level+3));
+                       append("</type>");
                buf.append("<value>").
                    append(Utils.xq((String) modifier.get(1))).
-                   append("</value>\n");
-               buf.append(Utils.indent(level+2)).
-                   append("</modifier>\n");
+                   append("</value>");
+               buf.append("</modifier>\n");
            }
            buf.append(Utils.indent(level+1) + "</modifiers>\n");
        }