Class FCDIterCollationIterator


public final class FCDIterCollationIterator extends IterCollationIterator
Incrementally checks the input text for FCD and normalizes where necessary.
  • Field Details

  • Constructor Details

  • Method Details

    • resetToOffset

      public void resetToOffset(int newOffset)
      Description copied from class: CollationIterator
      Resets the iterator state and sets the position to the specified offset. Subclasses must implement, and must call the parent class method, or CollationIterator.reset().
      Overrides:
      resetToOffset in class IterCollationIterator
    • getOffset

      public int getOffset()
      Overrides:
      getOffset in class IterCollationIterator
    • nextCodePoint

      public int nextCodePoint()
      Description copied from class: CollationIterator
      Returns the next code point (with post-increment). Public for identical-level comparison and for testing.
      Overrides:
      nextCodePoint in class IterCollationIterator
    • previousCodePoint

      public int previousCodePoint()
      Description copied from class: CollationIterator
      Returns the previous code point (with pre-decrement). Public for identical-level comparison and for testing.
      Overrides:
      previousCodePoint in class IterCollationIterator
    • handleNextCE32

      protected long handleNextCE32()
      Description copied from class: CollationIterator
      Returns the next code point and its local CE32 value. Returns Collation.FALLBACK_CE32 at the end of the text (c<0) or when c's CE32 value is to be looked up in the base data (fallback). The code point is used for fallbacks, context and implicit weights. It is ignored when the returned CE32 is not special (e.g., FFFD_CE32). Returns the code point in bits 63..32 (signed) and the CE32 in bits 31..0.
      Overrides:
      handleNextCE32 in class IterCollationIterator
    • handleGetTrailSurrogate

      protected char handleGetTrailSurrogate()
      Description copied from class: CollationIterator
      Called when handleNextCE32() returns a LEAD_SURROGATE_TAG for a lead surrogate code unit. Returns the trail surrogate in that case and advances past it, if a trail surrogate follows the lead surrogate. Otherwise returns any other code unit and does not advance.
      Overrides:
      handleGetTrailSurrogate in class IterCollationIterator
    • forwardNumCodePoints

      protected void forwardNumCodePoints(int num)
      Overrides:
      forwardNumCodePoints in class IterCollationIterator
    • backwardNumCodePoints

      protected void backwardNumCodePoints(int num)
      Overrides:
      backwardNumCodePoints in class IterCollationIterator
    • switchToForward

      private void switchToForward()
      Switches to forward checking if possible.
    • nextSegment

      private boolean nextSegment()
      Extends the FCD text segment forward or normalizes around pos.
      Returns:
      true if success
    • switchToBackward

      private void switchToBackward()
      Switches to backward checking.
    • previousSegment

      private boolean previousSegment()
      Extends the FCD text segment backward or normalizes around pos.
      Returns:
      true if success
    • normalize

      private void normalize(CharSequence s)