-// $Id: CQLPrefixNode.java,v 1.5 2002-12-11 17:14:20 mike Exp $
+// $Id: CQLPrefixNode.java,v 1.8 2007-06-27 22:39:55 mike Exp $
package org.z3950.zing.cql;
import java.lang.String;
/**
* Represents a prefix node in a CQL parse-tree.
*
- * @version $Id: CQLPrefixNode.java,v 1.5 2002-12-11 17:14:20 mike Exp $
+ * @version $Id: CQLPrefixNode.java,v 1.8 2007-06-27 22:39:55 mike Exp $
*/
public class CQLPrefixNode extends CQLNode {
/**
/**
* Creates a new CQLPrefixNode inducing a mapping from the
- * specified qualifier-set name to the specified identifier across
+ * specified index-set name to the specified identifier across
* the specified subtree.
*/
public CQLPrefixNode(String name, String identifier, CQLNode subtree) {
this.subtree = subtree;
}
- public String toXCQL(int level, Vector prefixes) {
+ public String toXCQL(int level, Vector<CQLPrefix> prefixes) {
// String maybeName = "";
// if (prefix.name != null)
// maybeName = indent(level+1) + "<name>" + prefix.name + "</name>\n";
// "<identifier>" + prefix.identifier + "</identifier>\n" +
// subtree.toXCQL(level+1, prefixes) +
// indent(level) + "</prefix>\n");
- Vector tmp = new Vector(prefixes);
+ Vector<CQLPrefix> tmp = new Vector<CQLPrefix>(prefixes);
tmp.add(prefix);
return subtree.toXCQL(level, tmp);
}
public String toCQL() {
- // ### We don't always need parens around the operand
- return ">" + prefix.name + "=\"" + prefix.identifier + "\" " +
- "(" + subtree.toCQL() + ")";
+ // ### We don't always need parens around the subtree
+ if (prefix.name == null) {
+ return ">\"" + prefix.identifier + "\" " +
+ "(" + subtree.toCQL() + ")";
+ } else {
+ return ">" + prefix.name + "=\"" + prefix.identifier + "\" " +
+ "(" + subtree.toCQL() + ")";
+ }
}
public String toPQF(Properties config) throws PQFTranslationException {
// Prefixes and their identifiers don't actually play any role
- // in PQF translation, since the meanings of the qualifiers,
+ // in PQF translation, since the meanings of the indexes,
// including their prefixes if any, are instead wired into
// `config'.
return subtree.toPQF(config);