public class StdXMLReader extends java.lang.Object implements IXMLReader
| Constructor and Description |
|---|
StdXMLReader(java.io.InputStream stream)
Initializes the XML reader.
|
StdXMLReader(java.io.Reader reader)
Initializes the XML reader.
|
StdXMLReader(java.lang.String publicID,
java.lang.String systemID)
Initializes the reader from a system and public ID.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
atEOF()
Returns true if there are no more characters left to be read.
|
boolean |
atEOFOfCurrentStream()
Returns true if the current stream has no more characters left to be
read.
|
static IXMLReader |
fileReader(java.lang.String filename)
Creates a new reader using a file as input.
|
protected void |
finalize()
Cleans up the object when it's destroyed.
|
protected java.lang.String |
getEncoding(java.lang.String str)
Scans the encoding from an <?xml...?> tag.
|
int |
getLineNr()
Returns the line number of the data in the current stream.
|
java.lang.String |
getPublicID()
Returns the current public ID.
|
int |
getStreamLevel()
Returns the current "level" of the stream on the stack of streams.
|
java.lang.String |
getSystemID()
Returns the current system ID.
|
java.io.Reader |
openStream(java.lang.String publicID,
java.lang.String systemID)
Opens a stream from a public and system ID.
|
char |
read()
Reads a character.
|
void |
setPublicID(java.lang.String publicID)
Sets the public ID of the current stream.
|
void |
setSystemID(java.lang.String systemID)
Sets the system ID of the current stream.
|
void |
startNewStream(java.io.Reader reader)
Starts a new stream from a Java reader.
|
void |
startNewStream(java.io.Reader reader,
boolean isInternalEntity)
Starts a new stream from a Java reader.
|
protected java.io.Reader |
stream2reader(java.io.InputStream stream,
java.lang.StringBuffer charsRead)
Converts a stream to a reader while detecting the encoding.
|
static IXMLReader |
stringReader(java.lang.String str)
Creates a new reader using a string as input.
|
void |
unread(char ch)
Pushes the last character read back to the stream.
|
public StdXMLReader(java.lang.String publicID,
java.lang.String systemID)
throws java.net.MalformedURLException,
java.io.FileNotFoundException,
java.io.IOException
publicID - the public ID which may be null.systemID - the non-null system ID.java.net.MalformedURLException - if the system ID does not contain a valid URLjava.io.FileNotFoundException - if the system ID refers to a local file which does not existjava.io.IOException - if an error occurred opening the streampublic StdXMLReader(java.io.Reader reader)
reader - the input for the XML data.public StdXMLReader(java.io.InputStream stream)
throws java.io.IOException
stream - the input for the XML data.java.io.IOException - if an I/O error occurredpublic static IXMLReader stringReader(java.lang.String str)
str - the string containing the XML datapublic static IXMLReader fileReader(java.lang.String filename) throws java.io.FileNotFoundException, java.io.IOException
filename - the name of the file containing the XML datajava.io.FileNotFoundException - if the file could not be foundjava.io.IOException - if an I/O error occurredprotected void finalize()
throws java.lang.Throwable
finalize in class java.lang.Objectjava.lang.Throwableprotected java.lang.String getEncoding(java.lang.String str)
str - the first tag in the XML data.protected java.io.Reader stream2reader(java.io.InputStream stream,
java.lang.StringBuffer charsRead)
throws java.io.IOException
stream - the input for the XML data.charsRead - buffer where to put characters that have been readjava.io.IOException - if an I/O error occurredpublic char read()
throws java.io.IOException
read in interface IXMLReaderjava.io.IOException - if no character could be readpublic boolean atEOFOfCurrentStream()
throws java.io.IOException
atEOFOfCurrentStream in interface IXMLReaderjava.io.IOException - if an I/O error occurredpublic boolean atEOF()
throws java.io.IOException
atEOF in interface IXMLReaderjava.io.IOException - if an I/O error occurredpublic void unread(char ch)
throws java.io.IOException
unread in interface IXMLReaderch - the character to push back.java.io.IOException - if an I/O error occurredpublic java.io.Reader openStream(java.lang.String publicID,
java.lang.String systemID)
throws java.net.MalformedURLException,
java.io.FileNotFoundException,
java.io.IOException
openStream in interface IXMLReaderpublicID - the public ID, which may be nullsystemID - the system ID, which is never nulljava.net.MalformedURLException - if the system ID does not contain a valid URLjava.io.FileNotFoundException - if the system ID refers to a local file which does not existjava.io.IOException - if an error occurred opening the streampublic void startNewStream(java.io.Reader reader)
startNewStream in interface IXMLReaderreader - the non-null reader to read the new data frompublic void startNewStream(java.io.Reader reader,
boolean isInternalEntity)
startNewStream in interface IXMLReaderreader - the non-null reader to read the new data fromisInternalEntity - true if the reader is produced by resolving
an internal entitypublic int getStreamLevel()
getStreamLevel in interface IXMLReaderpublic int getLineNr()
getLineNr in interface IXMLReaderpublic void setSystemID(java.lang.String systemID)
throws java.net.MalformedURLException
setSystemID in interface IXMLReadersystemID - the system IDjava.net.MalformedURLException - if the system ID does not contain a valid URLpublic void setPublicID(java.lang.String publicID)
setPublicID in interface IXMLReaderpublicID - the public IDpublic java.lang.String getSystemID()
getSystemID in interface IXMLReaderpublic java.lang.String getPublicID()
getPublicID in interface IXMLReader