de.intarsys.tools.reader
Class UnEscapeReader

java.lang.Object
  extended by java.io.Reader
      extended by java.io.FilterReader
          extended by de.intarsys.tools.reader.UnEscapeReader
All Implemented Interfaces:
IUnEscaper, java.io.Closeable, java.lang.Readable

public class UnEscapeReader
extends java.io.FilterReader
implements IUnEscaper

A reader that can unescape character data from a wrapped reader.


Field Summary
static char DefaultEscape
           
 
Fields inherited from class java.io.FilterReader
in
 
Fields inherited from class java.io.Reader
lock
 
Constructor Summary
UnEscapeReader(java.io.Reader in)
           
UnEscapeReader(java.io.Reader in, char escape, java.util.Map map)
           
UnEscapeReader(java.io.Reader in, java.util.Map map)
           
 
Method Summary
 void addEscapedCharacter(char key, char value)
           
 void close()
           
 char getEscape()
           
 java.util.Map getEscapeMap()
           
 char getUnicodePrefix()
           
 boolean isMapped()
           
 int read()
           
 int read(char[] cbuf, int off, int len)
           
protected  int readEscaped()
           
protected  int readHex()
           
 void removeEscapedCharacter(char key)
           
 void removeEscapedCharacters()
           
 void setEscape(char newEscape)
           
protected  void setEscapeMap(java.util.Map newEscapeMap)
           
 void setUnicodePrefix(char newUniChar)
           
 long skip(long n)
           
static java.lang.String unescape(java.lang.String in)
           
 
Methods inherited from class java.io.FilterReader
mark, markSupported, ready, reset
 
Methods inherited from class java.io.Reader
read, read
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DefaultEscape

public static final char DefaultEscape
See Also:
Constant Field Values
Constructor Detail

UnEscapeReader

public UnEscapeReader(java.io.Reader in)

UnEscapeReader

public UnEscapeReader(java.io.Reader in,
                      char escape,
                      java.util.Map map)

UnEscapeReader

public UnEscapeReader(java.io.Reader in,
                      java.util.Map map)
Method Detail

unescape

public static java.lang.String unescape(java.lang.String in)
                                 throws java.io.IOException
Throws:
java.io.IOException

addEscapedCharacter

public void addEscapedCharacter(char key,
                                char value)
Specified by:
addEscapedCharacter in interface IUnEscaper

close

public void close()
           throws java.io.IOException
Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.FilterReader
Throws:
java.io.IOException

getEscape

public char getEscape()

getEscapeMap

public java.util.Map getEscapeMap()

getUnicodePrefix

public char getUnicodePrefix()

isMapped

public boolean isMapped()
Specified by:
isMapped in interface IUnEscaper

read

public int read()
         throws java.io.IOException
Overrides:
read in class java.io.FilterReader
Throws:
java.io.IOException

read

public int read(char[] cbuf,
                int off,
                int len)
         throws java.io.IOException
Overrides:
read in class java.io.FilterReader
Throws:
java.io.IOException

readEscaped

protected int readEscaped()
                   throws java.io.IOException
Throws:
java.io.IOException

readHex

protected int readHex()
               throws java.io.IOException
Throws:
java.io.IOException

removeEscapedCharacter

public void removeEscapedCharacter(char key)

removeEscapedCharacters

public void removeEscapedCharacters()

setEscape

public void setEscape(char newEscape)
Specified by:
setEscape in interface IUnEscaper

setEscapeMap

protected void setEscapeMap(java.util.Map newEscapeMap)

setUnicodePrefix

public void setUnicodePrefix(char newUniChar)

skip

public long skip(long n)
          throws java.io.IOException
Overrides:
skip in class java.io.FilterReader
Throws:
java.io.IOException