X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fz3950%2Fzing%2Fcql%2FCQLPrefixNode.java;h=2b23a6ddd7a410d1103d3a9d611e5b13cfb85329;hb=HEAD;hp=10cff1a9d545783e2d6bb0c4ac14bef64b30dd04;hpb=41fcd9c3be17618728c4f175e4cb65ed61421447;p=cql-java-moved-to-github.git diff --git a/src/main/java/org/z3950/zing/cql/CQLPrefixNode.java b/src/main/java/org/z3950/zing/cql/CQLPrefixNode.java index 10cff1a..2b23a6d 100644 --- a/src/main/java/org/z3950/zing/cql/CQLPrefixNode.java +++ b/src/main/java/org/z3950/zing/cql/CQLPrefixNode.java @@ -1,32 +1,31 @@ -// $Id: CQLPrefixNode.java,v 1.10 2007-07-03 16:40:11 mike Exp $ package org.z3950.zing.cql; -import java.lang.String; +import java.util.ArrayList; +import java.util.List; import java.util.Properties; -import java.util.Vector; /** * Represents a prefix node in a CQL parse-tree. * - * @version $Id: CQLPrefixNode.java,v 1.10 2007-07-03 16:40:11 mike Exp $ */ public class CQLPrefixNode extends CQLNode { + + private CQLPrefix prefix; + /** * The prefix definition that governs the subtree. */ - private CQLPrefix prefix; - public CQLPrefix getPrefix() { return prefix; } + private CQLNode subtree; + /** * The root of a parse-tree representing the part of the query * that is governed by this prefix definition. - */ - private CQLNode subtree; - + */ public CQLNode getSubtree() { return subtree; } @@ -41,15 +40,23 @@ public class CQLPrefixNode extends CQLNode { this.subtree = subtree; } - public String toXCQL(int level, Vector prefixes, - Vector sortkeys) { - Vector tmp = (prefixes == null ? - new Vector() : - new Vector(prefixes)); + @Override + public void traverse(CQLNodeVisitor visitor) { + visitor.onPrfixNode(this); + subtree.traverse(visitor); + } + + @Override + void toXCQLInternal(XCQLBuilder b, int level, List prefixes, + List sortkeys) { + List tmp = (prefixes == null ? + new ArrayList() : + new ArrayList(prefixes)); tmp.add(prefix); - return subtree.toXCQL(level, tmp, sortkeys); + subtree.toXCQLInternal(b, level, tmp, sortkeys); } + @Override public String toCQL() { // ### We don't always need parens around the subtree if (prefix.name == null) { @@ -61,6 +68,7 @@ public class CQLPrefixNode extends CQLNode { } } + @Override 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 indexes, @@ -69,6 +77,7 @@ public class CQLPrefixNode extends CQLNode { return subtree.toPQF(config); } + @Override public byte[] toType1BER(Properties config) throws PQFTranslationException { // See comment on toPQF() return subtree.toType1BER(config);