-// $Id: CQLSortNode.java,v 1.2 2008-04-11 12:05:15 mike Exp $
package org.z3950.zing.cql;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Properties;
-import java.util.Vector;
/**
* Represents a sort node in a CQL parse-tree.
*
- * @version $Id: CQLSortNode.java,v 1.2 2008-04-11 12:05:15 mike Exp $
*/
public class CQLSortNode extends CQLNode {
/**
* The root of a subtree representing the query whose result is to
* be sorted.
*/
- public CQLNode subtree;
+ private CQLNode subtree;
/**
* The set of sort keys by which results are to be sorted,
* each expressed as an index together with zero or more
* modifiers.
*/
- Vector<ModifierSet> keys;
+ List<ModifierSet> keys;
+
+ public CQLNode getSubtree() {
+ return subtree;
+ }
public CQLSortNode(CQLNode subtree) {
this.subtree = subtree;
- keys = new Vector<ModifierSet>();
+ keys = new ArrayList<ModifierSet>();
}
public void addSortIndex(ModifierSet key) {
keys.add(key);
}
- public Vector<ModifierSet> getSortIndexes() {
+ public List<ModifierSet> getSortIndexes() {
return keys;
}
- public String toXCQL(int level, Vector<CQLPrefix> prefixes,
- Vector<ModifierSet> sortkeys) {
+ @Override
+ void toXCQLInternal(XCQLBuilder b, int level, List<CQLPrefix> prefixes,
+ List<ModifierSet> sortkeys) {
if (sortkeys != null)
throw new Error("CQLSortNode.toXCQL() called with sortkeys");
- return subtree.toXCQL(level, prefixes, keys);
+ subtree.toXCQLInternal(b, level, prefixes, keys);
}
+ @Override
public String toCQL() {
- StringBuffer buf = new StringBuffer(subtree.toCQL());
+ StringBuilder buf = new StringBuilder(subtree.toCQL());
if (keys != null) {
buf.append(" sortby");
for (int i = 0; i < keys.size(); i++) {
ModifierSet key = keys.get(i);
- buf.append(" " + key.toCQL());
+ buf.append(" ").append(key.toCQL());
}
}
return buf.toString();
}
+ @Override
public String toPQF(Properties config) throws PQFTranslationException {
return "@attr 1=oops \"###\"";
}
+ @Override
public byte[] toType1BER(Properties config)
throws PQFTranslationException {
// There is no way to represent sorting in a standard Z39.50