## org.apache.xml.dtm.ref
Class CustomStringPool

    java.lang.Object
      org.apache.xml.dtm.ref.DTMStringPool
          org.apache.xml.dtm.ref.CustomStringPool

    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
`java.lang.String` `indexToString(int i)`
`void` `removeAllElements()`
`int` `stringToIndex(java.lang.String s)`

Methods inherited from class org.apache.xml.dtm.ref.DTMStringPool
`main`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### NULL

    public static final int NULL

See Also:
  Constant Field Values

Constructor Detail

### CustomStringPool

    public CustomStringPool()

Method Detail

### removeAllElements

    public void removeAllElements()

  Overrides:
    `removeAllElements` in class `DTMStringPool`

### indexToString

    public java.lang.String indexToString(int i)
                                   throws java.lang.ArrayIndexOutOfBoundsException

  Overrides:
    `indexToString` in class `DTMStringPool`
  Returns:
    string whose value is uniquely identified by this integer index.
  Throws:
    `java.lang.ArrayIndexOutOfBoundsException` - if index doesn't map to a string.

### stringToIndex

    public int stringToIndex(java.lang.String s)

  Overrides:
    `stringToIndex` in class `DTMStringPool`
  Returns:
    integer index uniquely identifying the value of this string.

Copyright © 2005 Apache XML Project. All Rights Reserved.