org.dom4j.io
Class XPPReader

java.lang.Object
  extended byorg.dom4j.io.XPPReader

public class XPPReader
extends Object

XPPReader is a Reader of DOM4J documents that uses the fast XML Pull Parser 2.x . It does not currently support comments, CDATA or ProcessingInstructions or validation but it is very fast for use in SOAP style environments.

Version:
$Revision: 1.7 $
Author:
James Strachan

Constructor Summary
XPPReader()
           
XPPReader(DocumentFactory factory)
           
 
Method Summary
 void addHandler(String path, ElementHandler handler)
          Adds the ElementHandler to be called when the specified path is encounted.
protected  Reader createReader(InputStream in)
          Factory method to create a Reader from the given InputStream.
protected  org.dom4j.io.DispatchHandler getDispatchHandler()
           
 DocumentFactory getDocumentFactory()
          DOCUMENT ME!
 org.gjt.xpp.XmlPullParserFactory getXPPFactory()
           
 org.gjt.xpp.XmlPullParser getXPPParser()
           
protected  Document parseDocument()
           
 Document read(char[] text)
           Reads a Document from the given array of characters
 Document read(File file)
           Reads a Document from the given File
 Document read(InputStream in)
           Reads a Document from the given stream
 Document read(InputStream in, String systemID)
           Reads a Document from the given stream
 Document read(Reader reader)
           Reads a Document from the given Reader
 Document read(Reader reader, String systemID)
           Reads a Document from the given Reader
 Document read(String systemID)
           Reads a Document from the given URL or filename.
 Document read(URL url)
           Reads a Document from the given URL
 void removeHandler(String path)
          Removes the ElementHandler from the event based processor, for the specified path.
 void setDefaultHandler(ElementHandler handler)
          When multiple ElementHandler instances have been registered, this will set a default ElementHandler to be called for any path which does NOT have a handler registered.
protected  void setDispatchHandler(org.dom4j.io.DispatchHandler dispatchHandler)
           
 void setDocumentFactory(DocumentFactory documentFactory)
           This sets the DocumentFactory used to create new documents.
 void setXPPFactory(org.gjt.xpp.XmlPullParserFactory xPPFactory)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XPPReader

public XPPReader()

XPPReader

public XPPReader(DocumentFactory factory)
Method Detail

read

public Document read(File file)
              throws DocumentException,
                     IOException,
                     org.gjt.xpp.XmlPullParserException

Reads a Document from the given File

Parameters:
file - is the File to read from.
Returns:
the newly created Document instance
Throws:
DocumentException - if an error occurs during parsing.
IOException - if a URL could not be made for the given File
org.gjt.xpp.XmlPullParserException - DOCUMENT ME!

read

public Document read(URL url)
              throws DocumentException,
                     IOException,
                     org.gjt.xpp.XmlPullParserException

Reads a Document from the given URL

Parameters:
url - URL to read from.
Returns:
the newly created Document instance
Throws:
DocumentException - if an error occurs during parsing.
IOException - DOCUMENT ME!
org.gjt.xpp.XmlPullParserException - DOCUMENT ME!

read

public Document read(String systemID)
              throws DocumentException,
                     IOException,
                     org.gjt.xpp.XmlPullParserException

Reads a Document from the given URL or filename.

If the systemID contains a ':' character then it is assumed to be a URL otherwise its assumed to be a file name. If you want finer grained control over this mechansim then please explicitly pass in either a URLor a Fileinstance instead of a String to denote the source of the document.

Parameters:
systemID - is a URL for a document or a file name.
Returns:
the newly created Document instance
Throws:
DocumentException - if an error occurs during parsing.
IOException - if a URL could not be made for the given File
org.gjt.xpp.XmlPullParserException - DOCUMENT ME!

read

public Document read(InputStream in)
              throws DocumentException,
                     IOException,
                     org.gjt.xpp.XmlPullParserException

Reads a Document from the given stream

Parameters:
in - InputStream to read from.
Returns:
the newly created Document instance
Throws:
DocumentException - if an error occurs during parsing.
IOException - DOCUMENT ME!
org.gjt.xpp.XmlPullParserException - DOCUMENT ME!

read

public Document read(Reader reader)
              throws DocumentException,
                     IOException,
                     org.gjt.xpp.XmlPullParserException

Reads a Document from the given Reader

Parameters:
reader - is the reader for the input
Returns:
the newly created Document instance
Throws:
DocumentException - if an error occurs during parsing.
IOException - DOCUMENT ME!
org.gjt.xpp.XmlPullParserException - DOCUMENT ME!

read

public Document read(char[] text)
              throws DocumentException,
                     IOException,
                     org.gjt.xpp.XmlPullParserException

Reads a Document from the given array of characters

Parameters:
text - is the text to parse
Returns:
the newly created Document instance
Throws:
DocumentException - if an error occurs during parsing.
IOException - DOCUMENT ME!
org.gjt.xpp.XmlPullParserException - DOCUMENT ME!

read

public Document read(InputStream in,
                     String systemID)
              throws DocumentException,
                     IOException,
                     org.gjt.xpp.XmlPullParserException

Reads a Document from the given stream

Parameters:
in - InputStream to read from.
systemID - is the URI for the input
Returns:
the newly created Document instance
Throws:
DocumentException - if an error occurs during parsing.
IOException - DOCUMENT ME!
org.gjt.xpp.XmlPullParserException - DOCUMENT ME!

read

public Document read(Reader reader,
                     String systemID)
              throws DocumentException,
                     IOException,
                     org.gjt.xpp.XmlPullParserException

Reads a Document from the given Reader

Parameters:
reader - is the reader for the input
systemID - is the URI for the input
Returns:
the newly created Document instance
Throws:
DocumentException - if an error occurs during parsing.
IOException - DOCUMENT ME!
org.gjt.xpp.XmlPullParserException - DOCUMENT ME!

getXPPParser

public org.gjt.xpp.XmlPullParser getXPPParser()
                                       throws org.gjt.xpp.XmlPullParserException
Throws:
org.gjt.xpp.XmlPullParserException

getXPPFactory

public org.gjt.xpp.XmlPullParserFactory getXPPFactory()
                                               throws org.gjt.xpp.XmlPullParserException
Throws:
org.gjt.xpp.XmlPullParserException

setXPPFactory

public void setXPPFactory(org.gjt.xpp.XmlPullParserFactory xPPFactory)

getDocumentFactory

public DocumentFactory getDocumentFactory()
DOCUMENT ME!

Returns:
the DocumentFactory used to create document objects

setDocumentFactory

public void setDocumentFactory(DocumentFactory documentFactory)

This sets the DocumentFactory used to create new documents. This method allows the building of custom DOM4J tree objects to be implemented easily using a custom derivation of DocumentFactory

Parameters:
documentFactory - DocumentFactory used to create DOM4J objects

addHandler

public void addHandler(String path,
                       ElementHandler handler)
Adds the ElementHandler to be called when the specified path is encounted.

Parameters:
path - is the path to be handled
handler - is the ElementHandler to be called by the event based processor.

removeHandler

public void removeHandler(String path)
Removes the ElementHandler from the event based processor, for the specified path.

Parameters:
path - is the path to remove the ElementHandler for.

setDefaultHandler

public void setDefaultHandler(ElementHandler handler)
When multiple ElementHandler instances have been registered, this will set a default ElementHandler to be called for any path which does NOT have a handler registered.

Parameters:
handler - is the ElementHandler to be called by the event based processor.

parseDocument

protected Document parseDocument()
                          throws DocumentException,
                                 IOException,
                                 org.gjt.xpp.XmlPullParserException
Throws:
DocumentException
IOException
org.gjt.xpp.XmlPullParserException

getDispatchHandler

protected org.dom4j.io.DispatchHandler getDispatchHandler()

setDispatchHandler

protected void setDispatchHandler(org.dom4j.io.DispatchHandler dispatchHandler)

createReader

protected Reader createReader(InputStream in)
                       throws IOException
Factory method to create a Reader from the given InputStream.

Parameters:
in - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
IOException - DOCUMENT ME!


Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.