Interface UnicodeReplacer

All Known Implementing Classes:
FunctionReplacer, StringMatcher, StringReplacer

interface UnicodeReplacer
UnicodeReplacer defines a protocol for objects that replace a range of characters in a Replaceable string with output text. The replacement is done via the Replaceable API so as to preserve out-of-band data.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Union the set of all characters that may output by this object into the given set.
    int
    replace(Replaceable text, int start, int limit, int[] cursor)
    Replace characters in 'text' from 'start' to 'limit' with the output text of this object.
    toReplacerPattern(boolean escapeUnprintable)
    Returns a string representation of this replacer.
  • Method Details

    • replace

      int replace(Replaceable text, int start, int limit, int[] cursor)
      Replace characters in 'text' from 'start' to 'limit' with the output text of this object. Update the 'cursor' parameter to give the cursor position and return the length of the replacement text.
      Parameters:
      text - the text to be matched
      start - inclusive start index of text to be replaced
      limit - exclusive end index of text to be replaced; must be greater than or equal to start
      cursor - output parameter for the cursor position. Not all replacer objects will update this, but in a complete tree of replacer objects, representing the entire output side of a transliteration rule, at least one must update it.
      Returns:
      the number of 16-bit code units in the text replacing the characters at offsets start..(limit-1) in text
    • toReplacerPattern

      String toReplacerPattern(boolean escapeUnprintable)
      Returns a string representation of this replacer. If the result of calling this function is passed to the appropriate parser, typically TransliteratorParser, it will produce another replacer that is equal to this one.
      Parameters:
      escapeUnprintable - if true then convert unprintable character to their hex escape representations, \\uxxxx or \\Uxxxxxxxx. Unprintable characters are defined by Utility.isUnprintable().
    • addReplacementSetTo

      void addReplacementSetTo(UnicodeSet toUnionTo)
      Union the set of all characters that may output by this object into the given set.
      Parameters:
      toUnionTo - the set into which to union the output characters