-// $Id: ModifierSet.java,v 1.13 2007-07-03 13:30:18 mike Exp $
package org.z3950.zing.cql;
import java.util.ArrayList;
* zero or more <I>type</I> <I>comparison</I> <I>value</I> pairs,
* where type, comparison and value are all strings.
*
- * @version $Id: ModifierSet.java,v 1.13 2007-07-03 13:30:18 mike Exp $
*/
public class ModifierSet {
private String base;
return modifiers;
}
- public String toXCQL(int level, String topLevelElement) {
- return underlyingToXCQL(level, topLevelElement, "value");
- }
-
- public String sortKeyToXCQL(int level) {
- return underlyingToXCQL(level, "key", "index");
- }
-
- private String underlyingToXCQL(int level, String topLevelElement,
- String valueElement) {
- StringBuilder buf = new StringBuilder();
- buf.append(Utils.indent(level)).append("<").append(topLevelElement).
- append(">\n").append(Utils.indent(level + 1)).append("<").
- append(valueElement).append(">").append(Utils.xq(base)).append("</").
+ void toXCQLInternal(XCQLBuilder b, int level,
+ String topLevelElement, String valueElement) {
+ b.indent(level).append("<").append(topLevelElement).
+ append(">\n").indent(level + 1).append("<").
+ append(valueElement).append(">").xq(base).append("</").
append(valueElement).append(">\n");
if (modifiers.size() > 0) {
- buf.append(Utils.indent(level + 1)).append("<modifiers>\n");
+ b.indent(level + 1).append("<modifiers>\n");
for (int i = 0; i < modifiers.size(); i++) {
- buf.append(modifiers.get(i).toXCQL(level+2, "comparison"));
+ modifiers.get(i).toXCQLInternal(b, level+2, "comparison");
}
- buf.append(Utils.indent(level + 1)).append("</modifiers>\n");
+ b.indent(level + 1).append("</modifiers>\n");
}
- buf.append(Utils.indent(level)).append("</").append(topLevelElement).
- append(">\n");
- return buf.toString();
+ b.indent(level).append("</").append(topLevelElement).append(">\n");
}
public String toCQL() {