org.apache.commons.lang3.text.translate
Class NumericEntityUnescaper

java.lang.Object
  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.

Since:
3.0
Version:
$Id: NumericEntityUnescaper.java 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

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 behaviour 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 reliable 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 © 2001-2011 The Apache Software Foundation. All Rights Reserved.