org.apache.commons.text.translate

## Class NumericEntityUnescaper

- java.lang.Object
- - org.apache.commons.text.translate.CharSequenceTranslator
  - - org.apache.commons.text.translate.NumericEntityUnescaper

-     public class NumericEntityUnescaper
      extends CharSequenceTranslator

  Translate XML numeric entities of the form &#[xX]?\d+;? to the specific codepoint. Note that the semi-colon is optional.
  Since:
    1.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `NumericEntityUnescaper.OPTION` NumericEntityUnescaper option enum.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NumericEntityUnescaper(NumericEntityUnescaper.OPTION... options)` Create a UnicodeUnescaper.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isSet(NumericEntityUnescaper.OPTION option)` Whether the passed in option is currently set.
    `int` | `translate(CharSequence input, int index, Writer out)` Translate a set of codepoints, represented by an int index into a CharSequence, into another set of codepoints.

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

    - #### NumericEntityUnescaper

          public NumericEntityUnescaper(NumericEntityUnescaper.OPTION... options)

      Create a UnicodeUnescaper. The constructor takes a list of options, only one type of which is currently available (whether to allow, error or ignore the semi-colon on the end of a numeric entity to being missing). For example, to support numeric entities without a ';': new NumericEntityUnescaper(NumericEntityUnescaper.OPTION.semiColonOptional) and to throw an IllegalArgumentException when they're missing: new NumericEntityUnescaper(NumericEntityUnescaper.OPTION.errorIfNoSemiColon) Note that the default behavior is to ignore them.
      Parameters:
        `options` - to apply to this unescaper

  - ### Method Detail

    - #### isSet

          public boolean isSet(NumericEntityUnescaper.OPTION option)

      Whether the passed in option is currently set.
      Parameters:
        `option` - to check state of
      Returns:
        whether the option is set

    - #### translate

          public int translate(CharSequence input,
                               int index,
                               Writer out)
                        throws IOException

      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:
        `IOException` - if and only if the Writer produces an IOException

Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.