Class NumericEntityUnescaper

  extended by org.apache.commons.lang3.text.translate.CharSequenceTranslator
      extended by org.apache.commons.lang3.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.

$Id: 1199894 2011-11-09 17:53:59Z ggregory $

Nested Class Summary
static class NumericEntityUnescaper.OPTION
Constructor Summary
NumericEntityUnescaper(NumericEntityUnescaper.OPTION... options)
          Create a UnicodeUnescaper.
Method Summary
 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.lang3.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


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 behaviour is to ignore them.

options - to apply to this unescaper
Method Detail


public boolean isSet(NumericEntityUnescaper.OPTION option)
Whether the passed in option is currently set.

option - to check state of
whether the option is set


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 reliable ignore StringWriter IOExceptions.

Specified by:
translate in class CharSequenceTranslator
input - CharSequence that is being translated
index - int representing the current point of translation
out - Writer to translate the text to
int count of codepoints consumed
IOException - if and only if the Writer produces an IOException

Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.