// $Id: ModifierSet.java,v 1.13 2007-07-03 13:30:18 mike Exp $
package org.z3950.zing.cql;
-import java.util.Vector;
-import java.lang.StringBuffer;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.z3950.zing.cql.Utils.*;
/**
* Represents a base String and a set of Modifiers.
*/
public class ModifierSet {
private String base;
- private Vector<Modifier> modifiers;
+ private List<Modifier> modifiers;
/**
* Creates a new ModifierSet with the specified base.
*/
public ModifierSet(String base) {
this.base = base;
- modifiers = new Vector<Modifier>();
+ modifiers = new ArrayList<Modifier>();
}
/**
* @return
* An array of Modifiers.
*/
- public Vector<Modifier> getModifiers() {
+ public List<Modifier> getModifiers() {
return modifiers;
}
private String underlyingToXCQL(int level, String topLevelElement,
String valueElement) {
- StringBuffer buf = new StringBuffer();
- buf.append(Utils.indent(level) + "<" + topLevelElement + ">\n");
- buf.append(Utils.indent(level+1) +
- "<" + valueElement + ">" + Utils.xq(base) +
- "</" + valueElement + ">\n");
+ StringBuilder buf = new StringBuilder();
+ buf.append(indent(level)).append("<").append(topLevelElement).
+ append(">\n").append(indent(level + 1)).append("<").
+ append(valueElement).append(">").append(xq(base)).append("</").
+ append(valueElement).append(">\n");
if (modifiers.size() > 0) {
- buf.append(Utils.indent(level+1) + "<modifiers>\n");
+ buf.append(indent(level + 1)).append("<modifiers>\n");
for (int i = 0; i < modifiers.size(); i++) {
buf.append(modifiers.get(i).toXCQL(level+2, "comparison"));
}
- buf.append(Utils.indent(level+1) + "</modifiers>\n");
+ buf.append(indent(level + 1)).append("</modifiers>\n");
}
- buf.append(Utils.indent(level) + "</" + topLevelElement + ">\n");
+ buf.append(indent(level)).append("</").append(topLevelElement).
+ append(">\n");
return buf.toString();
}
public String toCQL() {
- StringBuffer buf = new StringBuffer(base);
+ StringBuilder buf = new StringBuilder(base);
for (int i = 0; i < modifiers.size(); i++) {
- buf.append("/" + modifiers.get(i).toCQL());
+ buf.append("/").append(modifiers.get(i).toCQL());
}
return buf.toString();