## org.dom4j.io
Class XPP3Reader

    java.lang.Object
      org.dom4j.io.XPP3Reader

public class XPP3Reader
extends Object

`XPP3Reader` is a Reader of DOM4J documents that uses the fast XML Pull Parser 3.x . It is very fast for use in SOAP style environments.

Version:
  $Revision: 1.3 $
Author:
  Pelle Braendgaard , James Strachan

Constructor Summary
`XPP3Reader()`
`XPP3Reader(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.xmlpull.v1.XmlPullParserFactory` `getXPPFactory()`
`org.xmlpull.v1.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.xmlpull.v1.XmlPullParserFactory xPPfactory)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### XPP3Reader

    public XPP3Reader()

### XPP3Reader

    public XPP3Reader(DocumentFactory factory)

Method Detail

### read

    public Document read(File file)
                  throws DocumentException,
                         IOException,
                         org.xmlpull.v1.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.xmlpull.v1.XmlPullParserException` - DOCUMENT ME!

### read

    public Document read(URL url)
                  throws DocumentException,
                         IOException,
                         org.xmlpull.v1.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.xmlpull.v1.XmlPullParserException` - DOCUMENT ME!

### read

    public Document read(String systemID)
                  throws DocumentException,
                         IOException,
                         org.xmlpull.v1.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 `URL`or a `File`instance 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.xmlpull.v1.XmlPullParserException` - DOCUMENT ME!

### read

    public Document read(InputStream in)
                  throws DocumentException,
                         IOException,
                         org.xmlpull.v1.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.xmlpull.v1.XmlPullParserException` - DOCUMENT ME!

### read

    public Document read(Reader reader)
                  throws DocumentException,
                         IOException,
                         org.xmlpull.v1.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.xmlpull.v1.XmlPullParserException` - DOCUMENT ME!

### read

    public Document read(char[] text)
                  throws DocumentException,
                         IOException,
                         org.xmlpull.v1.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.xmlpull.v1.XmlPullParserException` - DOCUMENT ME!

### read

    public Document read(InputStream in,
                         String systemID)
                  throws DocumentException,
                         IOException,
                         org.xmlpull.v1.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.xmlpull.v1.XmlPullParserException` - DOCUMENT ME!

### read

    public Document read(Reader reader,
                         String systemID)
                  throws DocumentException,
                         IOException,
                         org.xmlpull.v1.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.xmlpull.v1.XmlPullParserException` - DOCUMENT ME!

### getXPPParser

    public org.xmlpull.v1.XmlPullParser getXPPParser()
                                              throws org.xmlpull.v1.XmlPullParserException

  Throws:
    `org.xmlpull.v1.XmlPullParserException`

### getXPPFactory

    public org.xmlpull.v1.XmlPullParserFactory getXPPFactory()
                                                      throws org.xmlpull.v1.XmlPullParserException

  Throws:
    `org.xmlpull.v1.XmlPullParserException`

### setXPPFactory

    public void setXPPFactory(org.xmlpull.v1.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.xmlpull.v1.XmlPullParserException

  Throws:
    `DocumentException`
    `IOException`
    `org.xmlpull.v1.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.