Package org.apache.commons.text.translate

# Class CodePointTranslator

java.lang.Object
org.apache.commons.text.translate.CharSequenceTranslator
org.apache.commons.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:
  1.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CodePointTranslator()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract boolean`
  `translate(int codePoint, Writer writer)`
  Translates the specified code point into another.
  `final int`
  `translate(CharSequence input, int index, Writer writer)`
  Implementation of translate that maps onto the abstract translate(int, Writer) method.

  ### Methods inherited from class org.apache.commons.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 Details

  - ### CodePointTranslator

    public CodePointTranslator()

- ## Method Details

  - ### translate

    public final int translate(CharSequence input, int index, Writer writer) throws IOException
    Implementation of translate that maps onto the abstract translate(int, Writer) method. Translate a set of code points, represented by an int index into a CharSequence, into another set of code points. The number of code points 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
      `writer` - Writer to translate the text to
    Returns:
      int count of code points consumed
    Throws:
      `IOException` - if and only if the Writer produces an IOException

  - ### translate

    public abstract boolean translate(int codePoint, Writer writer) throws IOException
    Translates the specified code point into another.
    Parameters:
      `codePoint` - int character input to translate
      `writer` - Writer to optionally push the translated output to
    Returns:
      boolean as to whether translation occurred or not
    Throws:
      `IOException` - if and only if the Writer produces an IOException