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

    • Constructor Detail

      • DTMSafeStringPool

        public DTMSafeStringPool()
    • Method Detail

      • 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.