Class 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 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​(java.lang.CharSequence input,
                             int index,
                             java.io.Writer out)
                      throws java.io.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:
        java.io.IOException - if and only if the Writer produces an IOException