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().

- - ### Field Summary

    - ### Fields inherited from class org.apache.xml.dtm.ref.DTMStringPool

      `NULL`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DTMSafeStringPool()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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

      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.

    - #### 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 © 2023 Apache XML Project. All Rights Reserved.