com.atlassian.jira.util.xml
Class XMLEscapingReader

java.lang.Object
  extended by java.io.Reader
      extended by com.atlassian.jira.util.xml.XMLEscapingReader
All Implemented Interfaces:
Closeable, Readable

public class XMLEscapingReader
extends Reader

Reader that filters(replaces) all characters coming from another reader. Every character that is XML illegal will be replaced with a Java-like unicode escape sequence '\\u[0-9][0-9][0-9][0-9]'. Additionally backslash character is also escaped to ensure that decoding encoded text will ne the same. It tries to preserve memory. When no escaping is needed it will not use any additional buffer. If some escaping is needed it will use Queue for overflow characters as output will have more characters than original.

Since:
v6.0

Field Summary
 
Fields inherited from class java.io.Reader
lock
 
Constructor Summary
XMLEscapingReader(Reader in)
           
 
Method Summary
 void close()
           
 int read(char[] cbuf, int off, int len)
           
 
Methods inherited from class java.io.Reader
mark, markSupported, read, read, read, ready, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLEscapingReader

public XMLEscapingReader(Reader in)
Method Detail

read

public int read(char[] cbuf,
                int off,
                int len)
         throws IOException
Specified by:
read in class Reader
Throws:
IOException

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Specified by:
close in class Reader
Throws:
IOException


Copyright © 2002-2014 Atlassian. All Rights Reserved.