# Class UnicodeEscaper

java.lang.Object
org.apache.commons.text.translate.CharSequenceTranslator
org.apache.commons.text.translate.CodePointTranslator
org.apache.commons.text.translate.UnicodeEscaper

Direct Known Subclasses:
  `JavaUnicodeEscaper`

public class UnicodeEscaper extends CodePointTranslator
Translates code points to their Unicode escaped value.

Since:
  1.0

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  ``
  `UnicodeEscaper()`
  Constructs a `UnicodeEscaper` for all characters.
  `protected`
  `UnicodeEscaper(int below, int above, boolean between)`
  Constructs a `UnicodeEscaper` for the specified range.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static UnicodeEscaper`
  `above(int codePoint)`
  Constructs a `UnicodeEscaper` above the specified value (exclusive).
  `static UnicodeEscaper`
  `below(int codePoint)`
  Constructs a `UnicodeEscaper` below the specified value (exclusive).
  `static UnicodeEscaper`
  `between(int codePointLow, int codePointHigh)`
  Constructs a `UnicodeEscaper` between the specified values (inclusive).
  `static UnicodeEscaper`
  `outsideOf(int codePointLow, int codePointHigh)`
  Constructs a `UnicodeEscaper` outside of the specified values (exclusive).
  `protected String`
  `toUtf16Escape(int codePoint)`
  Converts the given code point to a hexadecimal string of the form `"\\uXXXX"`.
  `boolean`
  `translate(int codePoint, Writer writer)`
  Translates the specified code point into another.

  ### Methods inherited from class CodePointTranslator

  `translate`

  ### 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

  - ### UnicodeEscaper

    public UnicodeEscaper()
    Constructs a `UnicodeEscaper` for all characters.

  - ### UnicodeEscaper

    protected UnicodeEscaper(int below, int above, boolean between)
    Constructs a `UnicodeEscaper` for the specified range. This is the underlying method for the other constructors/builders. The `below` and `above` boundaries are inclusive when `between` is `true` and exclusive when it is `false`.
    Parameters:
      `below` - int value representing the lowest code point boundary.
      `above` - int value representing the highest code point boundary.
      `between` - whether to escape between the boundaries or outside them.

- ## Method Details

  - ### above

    public static UnicodeEscaper above(int codePoint)
    Constructs a `UnicodeEscaper` above the specified value (exclusive).
    Parameters:
      `codePoint` - above which to escape.
    Returns:
      The newly created `UnicodeEscaper` instance.

  - ### below

    public static UnicodeEscaper below(int codePoint)
    Constructs a `UnicodeEscaper` below the specified value (exclusive).
    Parameters:
      `codePoint` - below which to escape.
    Returns:
      The newly created `UnicodeEscaper` instance.

  - ### between

    public static UnicodeEscaper between(int codePointLow, int codePointHigh)
    Constructs a `UnicodeEscaper` between the specified values (inclusive).
    Parameters:
      `codePointLow` - above which to escape.
      `codePointHigh` - below which to escape.
    Returns:
      The newly created `UnicodeEscaper` instance.

  - ### outsideOf

    public static UnicodeEscaper outsideOf(int codePointLow, int codePointHigh)
    Constructs a `UnicodeEscaper` outside of the specified values (exclusive).
    Parameters:
      `codePointLow` - below which to escape.
      `codePointHigh` - above which to escape.
    Returns:
      The newly created `UnicodeEscaper` instance.

  - ### toUtf16Escape

    protected String toUtf16Escape(int codePoint)
    Converts the given code point to a hexadecimal string of the form `"\\uXXXX"`.
    Parameters:
      `codePoint` - a Unicode code point.
    Returns:
      The hexadecimal string for the given code point.

  - ### translate

    public boolean translate(int codePoint, Writer writer) throws IOException
    Translates the specified code point into another.
    Specified by:
      `translate` in class `CodePointTranslator`
    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.