X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Forg%2Fz3950%2Fzing%2Fcql%2FCQLNode.java;h=4a11592b8b6fc73104c207189c5a1113e4c160e7;hb=f3c88fe15ee06a671407a0368e449db991526802;hp=e0fba9d1698a7c1b75eefff963b21995a4a7565d;hpb=aaafb116f81536ca6f842885f4a64fbc3c345b99;p=cql-java-moved-to-github.git diff --git a/src/org/z3950/zing/cql/CQLNode.java b/src/org/z3950/zing/cql/CQLNode.java index e0fba9d..4a11592 100644 --- a/src/org/z3950/zing/cql/CQLNode.java +++ b/src/org/z3950/zing/cql/CQLNode.java @@ -1,4 +1,4 @@ -// $Id: CQLNode.java,v 1.19 2002-12-09 16:29:44 mike Exp $ +// $Id: CQLNode.java,v 1.24 2007-06-06 13:19:28 mike Exp $ package org.z3950.zing.cql; import java.util.Properties; @@ -8,12 +8,24 @@ import java.util.Vector; /** * Represents a node in a CQL parse-tree. * - * @version $Id: CQLNode.java,v 1.19 2002-12-09 16:29:44 mike Exp $ + * @version $Id: CQLNode.java,v 1.24 2007-06-06 13:19:28 mike Exp $ */ public abstract class CQLNode { CQLNode() {} // prevent javadoc from documenting this /** + * Returns the name of the result-set to which this query is a + * reference, if and only if the entire query consists only of a + * result-set reference. If it's anything else, including a + * boolean combination of a result-set reference with something + * else, then null is returned instead. + * @return the name of the referenced result-set + */ + public String getResultSetName() { + return null; + } + + /** * Translates a parse-tree into an XCQL document. *

* @param level @@ -26,10 +38,10 @@ public abstract class CQLNode { * parse-tree whose root is this node. */ public String toXCQL(int level) { - return toXCQL(level, new Vector()); + return toXCQL(level, new Vector()); } - abstract public String toXCQL(int level, Vector prefixes); + abstract public String toXCQL(int level, Vector prefixes); protected static String renderPrefixes(int level, Vector prefixes) { if (prefixes.size() == 0) @@ -112,7 +124,7 @@ public abstract class CQLNode { * ftp://ftp.rsasecurity.com/pub/pkcs/ascii/layman.asc */ - abstract public byte[] toType1(Properties config) + abstract public byte[] toType1BER(Properties config) throws PQFTranslationException; // ANS.1 classes @@ -159,7 +171,7 @@ public abstract class CQLNode { /** * Put a length directly into a BER record. * - * @param length length to put into record + * @param len length to put into record * @return the new, incremented value of the offset parameter. */ public // ### shouldn't this be protected? @@ -198,7 +210,7 @@ public abstract class CQLNode { /** * Get the length needed to represent the given number. * - * @param number determine length needed to encode this + * @param num determine length needed to encode this * @return length needed to encode given number */ protected static final int numLen(long num) { @@ -233,8 +245,8 @@ public abstract class CQLNode { } // Used only by the makeOID() method - private static final java.util.Hashtable madeOIDs = - new java.util.Hashtable(10); + private static final java.util.Hashtable madeOIDs = + new java.util.Hashtable(10); protected static final byte[] makeOID(String oid) { byte[] o; @@ -304,7 +316,7 @@ public abstract class CQLNode { public static final byte[] makeQuery(CQLNode root, Properties properties) throws PQFTranslationException { - byte[] rpnStructure = root.toType1(properties); + byte[] rpnStructure = root.toType1BER(properties); byte[] qry = new byte[rpnStructure.length+100]; int offset = 0; offset = putTag(CONTEXT, 1, CONSTRUCTED, qry, offset);