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

    java.lang.Object
      |
      +--org.apache.xml.dtm.ref.DTMStringPool
            |
            +--org.apache.xml.dtm.ref.DTMSafeStringPool

public class DTMSafeStringPool
extends DTMStringPool

Like DTMStringPool, but threadsafe. It's been proposed that DTMs share their string pool(s); that raises threadsafety issues which this addresses. Of course performance is inferior to that of the bare-bones version.

Status: Passed basic test in main().

Fields inherited from class org.apache.xml.dtm.ref.DTMStringPool
`NULL`

Constructor Summary
`DTMSafeStringPool()`

Method Summary
`java.lang.String` `indexToString(int i)`
`static void` `main(java.lang.String[] args)` Command-line unit test driver.
`void` `removeAllElements()`
`int` `stringToIndex(java.lang.String s)`

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

Constructor Detail

### DTMSafeStringPool

    public DTMSafeStringPool()

Method Detail

### removeAllElements

    public void removeAllElements()

  Overrides:
    removeAllElements in class DTMStringPool

### indexToString

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

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

### stringToIndex

    public int stringToIndex(java.lang.String s)

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

### main

    public static void main(java.lang.String[] args)

  Command-line unit test driver. This test relies on the fact that this version of the pool assigns indices consecutively, starting from zero, as new unique strings are encountered.

Copyright © 2006 Apache XML Project. All Rights Reserved.