Class CollationDataBuilder.ConditionalCE32

  • Enclosing class:
    CollationDataBuilder

    private static final class CollationDataBuilder.ConditionalCE32
    extends java.lang.Object
    Build-time context and CE32 for a code point. If a code point has contextual mappings, then the default (no-context) mapping and all conditional mappings are stored in a singly-linked list of ConditionalCE32, sorted by context strings. Context strings sort by prefix length, then by prefix, then by contraction suffix. Context strings must be unique and in ascending order.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) int builtCE32
      CE32 for the built contexts.
      (package private) int ce32
      CE32 for the code point and its context.
      (package private) java.lang.String context
      "\0" for the first entry for any code point, with its default CE32.
      (package private) int defaultCE32
      Default CE32 for all contexts with this same prefix.
      (package private) int era
      The "era" of building intermediate contexts when the above builtCE32 was set.
      (package private) int next
      Index of the next ConditionalCE32.
    • Constructor Summary

      Constructors 
      Constructor Description
      ConditionalCE32​(java.lang.String ct, int ce)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) boolean hasContext()  
      (package private) int prefixLength()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • context

        java.lang.String context
        "\0" for the first entry for any code point, with its default CE32. Otherwise one unit with the length of the prefix string, then the prefix string, then the contraction suffix.
      • ce32

        int ce32
        CE32 for the code point and its context. Can be special (e.g., for an expansion) but not contextual (prefix or contraction tag).
      • defaultCE32

        int defaultCE32
        Default CE32 for all contexts with this same prefix. Initially NO_CE32. Set only while building runtime data structures, and only on one of the nodes of a sub-list with the same prefix.
      • builtCE32

        int builtCE32
        CE32 for the built contexts. When fetching CEs from the builder, the contexts are built into their runtime form so that the normal collation implementation can process them. The result is cached in the list head. It is reset when the contexts are modified. All of these builtCE32 are invalidated by clearContexts(), via incrementing the contextsEra.
      • era

        int era
        The "era" of building intermediate contexts when the above builtCE32 was set. When the array of cached, temporary contexts overflows, then clearContexts() removes them all and invalidates the builtCE32 that used to point to built tries.
      • next

        int next
        Index of the next ConditionalCE32. Negative for the end of the list.
    • Constructor Detail

      • ConditionalCE32

        ConditionalCE32​(java.lang.String ct,
                        int ce)
    • Method Detail

      • hasContext

        boolean hasContext()
      • prefixLength

        int prefixLength()