# 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()`
  Construct a new instance.

- ## 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)`
  Translate a set of code points, represented by an int index into a CharSequence, into another set of code points.

  ### Methods inherited from class CharSequenceTranslator

  `hex, translate, translate, with`

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### CodePointTranslator

    public CodePointTranslator()
    Construct a new instance.

- ## Method Details

  - ### translate

    public final int translate(CharSequence input, int index, Writer writer) throws IOException
    Description copied from class: `CharSequenceTranslator`
    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.