org.apache.xml.dtm.ref
public class CustomStringPool extends DTMStringPool
CustomStringPool is an example of appliction provided data structure for a DTM implementation to hold symbol references, e.g. elelment names. It will follow the DTMDStringPool interface and use two simple methods indexToString(int i) and stringToIndex(Sring s) to map between a set of string values and a set of integer index values. Therefore, an application may improve DTM processing speed by substituting the DTM symbol resolution tables with application specific quick symbol resolution tables.
%REVIEW% The only difference between this an DTMStringPool seems to be that it uses a java.lang.Hashtable full of Integers rather than implementing its own hashing. Joe deliberately avoided that approach when writing DTMStringPool, since it is both much more memory-hungry and probably slower -- especially in JDK 1.1.x, where Hashtable is synchronized. We need to either justify this implementation or discard it.Status: In progress, under discussion.
Field Summary | |
---|---|
static int | NULL |
Constructor Summary | |
---|---|
CustomStringPool() |
Method Summary | |
---|---|
String | indexToString(int i) |
void | removeAllElements() |
int | stringToIndex(String s) |
Returns: string whose value is uniquely identified by this integer index.
Throws: java.lang.ArrayIndexOutOfBoundsException if index doesn't map to a string.
Returns: integer index uniquely identifying the value of this string.