Class NumericEntityUnescaper

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

Translates XML numeric entities of the form &#[xX]?\d+;? to the specific code point. Note that the semicolon is optional.
Since:
1.0
  • Constructor Details

    • NumericEntityUnescaper

      Creates a UnicodeUnescaper. The constructor takes a list of options, only one type of which is currently available (whether to allow, error or ignore the semicolon 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)
      Tests 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 writer) throws IOException
      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