CodePointTranslator
Date: 2017-02-08

org.apache.commons.lang3.text.translate

## Class CodePointTranslator

- java.lang.Object
- - org.apache.commons.lang3.text.translate.CharSequenceTranslator
  - - org.apache.commons.lang3.text.translate.CodePointTranslator

- Direct Known Subclasses:
    NumericEntityEscaper, UnicodeEscaper, UnicodeUnpairedSurrogateRemover

      public abstract class CodePointTranslator
      extends CharSequenceTranslator

  Helper subclass to CharSequenceTranslator to allow for translations that will replace up to one character at a time.
  Since:
    3.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CodePointTranslator()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `translate(java.lang.CharSequence input, int index, java.io.Writer out)` Implementation of translate that maps onto the abstract translate(int, Writer) method.
    `abstract boolean` | `translate(int codepoint, java.io.Writer out)` Translate the specified codepoint into another.

    - ### Methods inherited from class org.apache.commons.lang3.text.translate.CharSequenceTranslator

      `hex, translate, translate, with`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CodePointTranslator

          public CodePointTranslator()

  - ### Method Detail

    - #### translate

          public final int translate(java.lang.CharSequence input,
                      int index,
                      java.io.Writer out)
                              throws java.io.IOException

      Implementation of translate that maps onto the abstract translate(int, Writer) method. Translate a set of codepoints, represented by an int index into a CharSequence, into another set of codepoints. The number of codepoints consumed must be returned, and the only IOExceptions thrown must be from interacting with the Writer so that the top level API may reliably ignore StringWriter IOExceptions.
      Specified by:
        `translate` in class `CharSequenceTranslator`
      Parameters:
        `input` - CharSequence that is being translated
        `index` - int representing the current point of translation
        `out` - Writer to translate the text to
      Returns:
        int count of codepoints consumed
      Throws:
        `java.io.IOException` - if and only if the Writer produces an IOException

    - #### translate

          public abstract boolean translate(int codepoint,
                          java.io.Writer out)
                                     throws java.io.IOException

      Translate the specified codepoint into another.
      Parameters:
        `codepoint` - int character input to translate
        `out` - Writer to optionally push the translated output to
      Returns:
        boolean as to whether translation occurred or not
      Throws:
        `java.io.IOException` - if and only if the Writer produces an IOException