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
  • Constructor Details

    • 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 Details

    • 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