nu.validator.htmlparser.io
Class HtmlInputStreamReader

java.lang.Object
  extended by java.io.Reader
      extended by nu.validator.htmlparser.io.HtmlInputStreamReader
All Implemented Interfaces:
java.io.Closeable, java.lang.Readable, ByteReadable, org.xml.sax.Locator

public final class HtmlInputStreamReader
extends java.io.Reader
implements ByteReadable, org.xml.sax.Locator

Be very careful with this class. It is not a general-purpose subclass of of Reader. Instead, it is the minimal implementation that does what Tokenizer needs while being an instance of Reader. The only reason why this is a public class is that it needs to be visible to test code in another package.

Version:
$Id$
Author:
hsivonen

Field Summary
 
Fields inherited from class java.io.Reader
lock
 
Constructor Summary
HtmlInputStreamReader(java.io.InputStream inputStream, org.xml.sax.ErrorHandler errorHandler, Tokenizer tokenizer, Driver driver, Encoding encoding)
           
HtmlInputStreamReader(java.io.InputStream inputStream, org.xml.sax.ErrorHandler errorHandler, Tokenizer tokenizer, Driver driver, Heuristics heuristics)
           
 
Method Summary
 void close()
           
 java.nio.charset.Charset getCharset()
           
 int getColumnNumber()
           
 int getLineNumber()
           
 java.lang.String getPublicId()
           
 java.lang.String getSystemId()
           
static void main(java.lang.String[] args)
           
 int read()
           
 int read(char[] charArray)
           
 int read(char[] cbuf, int off, int len)
           
 int read(java.nio.CharBuffer target)
           
 int readByte()
          Returns the value of the next byte as an integer from 0 to 0xFF or -1 if the stream has ended.
 void switchEncoding(Encoding newEnc)
           
 
Methods inherited from class java.io.Reader
mark, markSupported, ready, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HtmlInputStreamReader

public HtmlInputStreamReader(java.io.InputStream inputStream,
                             org.xml.sax.ErrorHandler errorHandler,
                             Tokenizer tokenizer,
                             Driver driver,
                             Heuristics heuristics)
                      throws org.xml.sax.SAXException,
                             java.io.IOException
Parameters:
inputStream -
errorHandler -
locator -
Throws:
java.io.IOException
org.xml.sax.SAXException

HtmlInputStreamReader

public HtmlInputStreamReader(java.io.InputStream inputStream,
                             org.xml.sax.ErrorHandler errorHandler,
                             Tokenizer tokenizer,
                             Driver driver,
                             Encoding encoding)
                      throws org.xml.sax.SAXException,
                             java.io.IOException
Throws:
org.xml.sax.SAXException
java.io.IOException
Method Detail

close

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

read

public int read(char[] charArray)
         throws java.io.IOException
Overrides:
read in class java.io.Reader
Throws:
java.io.IOException

readByte

public int readByte()
             throws java.io.IOException
Description copied from interface: ByteReadable
Returns the value of the next byte as an integer from 0 to 0xFF or -1 if the stream has ended.

Specified by:
readByte in interface ByteReadable
Returns:
integer from 0 to 0xFF or -1 on EOF
Throws:
java.io.IOException

main

public static void main(java.lang.String[] args)

getColumnNumber

public int getColumnNumber()
Specified by:
getColumnNumber in interface org.xml.sax.Locator

getLineNumber

public int getLineNumber()
Specified by:
getLineNumber in interface org.xml.sax.Locator

getPublicId

public java.lang.String getPublicId()
Specified by:
getPublicId in interface org.xml.sax.Locator

getSystemId

public java.lang.String getSystemId()
Specified by:
getSystemId in interface org.xml.sax.Locator

getCharset

public java.nio.charset.Charset getCharset()

read

public int read()
         throws java.io.IOException
Overrides:
read in class java.io.Reader
Throws:
java.io.IOException
See Also:
Reader.read()

read

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

read

public int read(java.nio.CharBuffer target)
         throws java.io.IOException
Specified by:
read in interface java.lang.Readable
Overrides:
read in class java.io.Reader
Throws:
java.io.IOException
See Also:
Reader.read(java.nio.CharBuffer)

switchEncoding

public void switchEncoding(Encoding newEnc)