## org.dom4j.jaxb
Class JAXBReader

    java.lang.Object
      org.dom4j.jaxb.JAXBSupport
          org.dom4j.jaxb.JAXBReader

public class JAXBReader
extends org.dom4j.jaxb.JAXBSupport

Reads an XML document and creates a DOM4J tree from SAX parsing events. `JAXBObjectHandler`objects can be registered to automatically receive unmarshalled XML fragments. Registered implementations are notified when a certain element path is encountered

Author:
  Wonne Keysers (Realsoftware.be)
See Also:
  `SAXReader`, `JAXBContext`

Constructor Summary
`JAXBReader(String contextPath)` Creates a new JAXBReader for the given JAXB context path.
`JAXBReader(String contextPath, ClassLoader classloader)` Creates a new JAXBReader for the given JAXB context path, using the specified `Classloader`.

Method Summary
`void` `addHandler(String path, ElementHandler handler)` Adds the `ElementHandler` to be called when the specified path is encounted.
`void` `addObjectHandler(String path, JAXBObjectHandler handler)` Registers a `JAXBObjectHandler`that will be supplied with the unmarshalled representation of the xml fragment whenever the specified path is encounted.
`boolean` `isPruneElements()` When 'true', the DOM4J document will not be kept in memory while parsing.
`protected Element` `marshal(javax.xml.bind.Element element)` Marshals the given `Element`in to its DOM4J counterpart.
`Document` `read(File source)` Parses the specified `File`
`Document` `read(File file, java.nio.charset.Charset charset)` Parses the specified `File`, using the given `Charset`.
`Document` `read(InputSource source)` Parses the specified `InputSource`
`Document` `read(InputStream source)` Parses the specified `InputStream`
`Document` `read(InputStream source, String systemId)` Parses the specified `InputStream`
`Document` `read(Reader source)` Parses the specified `Reader`
`Document` `read(Reader source, String systemId)` Parses the specified `Reader`
`Document` `read(String source)` Parses the the given URL or filename.
`Document` `read(URL source)` Parses the the given URL.
`void` `removeHandler(String path)` Removes the `ElementHandler` from the event based processor, for the specified path.
`void` `removeObjectHandler(String path)` Removes the `JAXBObjectHandler`from the event based processor, for the specified element path.
`void` `resetHandlers()` Removes all registered `JAXBObjectHandler`and `ElementHandler` instances from the event based processor.
`void` `setPruneElements(boolean pruneElements)` Set to true when DOM4J elements must immediately be pruned from the tree.
`protected javax.xml.bind.Element` `unmarshal(Element element)` Unmarshalls the specified DOM4J `Element`into a `Element`

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

Constructor Detail

### JAXBReader

    public JAXBReader(String contextPath)

  Creates a new JAXBReader for the given JAXB context path. This is the Java package where JAXB can find the generated XML classes. This package MUST contain jaxb.properties!

Parameters:
  `contextPath` - context path to be used
See Also:
  `JAXBContext`

### JAXBReader

    public JAXBReader(String contextPath,
                      ClassLoader classloader)

  Creates a new JAXBReader for the given JAXB context path, using the specified `Classloader`. This is the Java package where JAXB can find the generated XML classes. This package MUST contain jaxb.properties!

Parameters:
  `contextPath` - to be used
  `classloader` - to be used
See Also:
  `JAXBContext`

Method Detail

### read

    public Document read(File source)
                  throws DocumentException

  Parses the specified `File`

  Parameters:
    `source` - the file to parse
  Returns:
    the resulting DOM4J document
  Throws:
    `DocumentException` - when an error occurs while parsing

### read

    public Document read(File file,
                         java.nio.charset.Charset charset)
                  throws DocumentException

  Parses the specified `File`, using the given `Charset`.

  Parameters:
    `file` - the file to parse
    `charset` - the charset to be used
  Returns:
    the resulting DOM4J document
  Throws:
    `DocumentException` - when an error occurs while parsing

### read

    public Document read(InputSource source)
                  throws DocumentException

  Parses the specified `InputSource`

  Parameters:
    `source` - the source to parse
  Returns:
    the resulting DOM4J document
  Throws:
    `DocumentException` - when an error occurs while parsing

### read

    public Document read(InputStream source)
                  throws DocumentException

  Parses the specified `InputStream`

  Parameters:
    `source` - the input stream to parse
  Returns:
    the resulting DOM4J document
  Throws:
    `DocumentException` - when an error occurs while parsing

### read

    public Document read(InputStream source,
                         String systemId)
                  throws DocumentException

  Parses the specified `InputStream`

  Parameters:
    `source` - the input stream to parse
    `systemId` - is the URI for the input
  Returns:
    the resulting DOM4J document
  Throws:
    `DocumentException` - when an error occurs while parsing

### read

    public Document read(Reader source)
                  throws DocumentException

  Parses the specified `Reader`

  Parameters:
    `source` - the input reader to use
  Returns:
    the resulting DOM4J document
  Throws:
    `DocumentException` - when an error occurs while parsing

### read

    public Document read(Reader source,
                         String systemId)
                  throws DocumentException

  Parses the specified `Reader`

  Parameters:
    `source` - the input reader to parse
    `systemId` - is the URI for the input
  Returns:
    the resulting DOM4J document
  Throws:
    `DocumentException` - when an error occurs while parsing

### read

    public Document read(String source)
                  throws DocumentException

  Parses the the given URL or filename.

  Parameters:
    `source` - the location to parse
  Returns:
    the resulting DOM4J document
  Throws:
    `DocumentException` - when an error occurs while parsing

### read

    public Document read(URL source)
                  throws DocumentException

  Parses the the given URL.

  Parameters:
    `source` - the URL to parse
  Returns:
    the resulting DOM4J document
  Throws:
    `DocumentException` - when an error occurs while parsing

### addObjectHandler

    public void addObjectHandler(String path,
                                 JAXBObjectHandler handler)

  Registers a `JAXBObjectHandler`that will be supplied with the unmarshalled representation of the xml fragment whenever the specified path is encounted.

  Parameters:
    `path` - the path to listen for
    `handler` - the handler to be notified

### removeObjectHandler

    public void removeObjectHandler(String path)

  Removes the `JAXBObjectHandler`from the event based processor, for the specified element path.

  Parameters:
    `path` - The path to remove the `JAXBObjectHandler`for

### 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.

### resetHandlers

    public void resetHandlers()

  Removes all registered `JAXBObjectHandler`and `ElementHandler` instances from the event based processor.

### isPruneElements

    public boolean isPruneElements()

  When 'true', the DOM4J document will not be kept in memory while parsing.

  Returns:
    Returns the pruneElements.

### setPruneElements

    public void setPruneElements(boolean pruneElements)

  Set to true when DOM4J elements must immediately be pruned from the tree. The `Document`will not be available afterwards!

  Parameters:
    `pruneElements` -

### marshal

    protected Element marshal(javax.xml.bind.Element element)
                       throws javax.xml.bind.JAXBException

  Marshals the given `Element`in to its DOM4J counterpart.

  Parameters:
    `element` - JAXB Element to be marshalled
  Returns:
    the marshalled DOM4J `Element`
  Throws:
    `javax.xml.bind.JAXBException` - when an error occurs

### unmarshal

    protected javax.xml.bind.Element unmarshal(Element element)
                                        throws javax.xml.bind.JAXBException

  Unmarshalls the specified DOM4J `Element`into a `Element`

  Parameters:
    `element` - the DOM4J element to unmarshall
  Returns:
    the unmarshalled JAXB object
  Throws:
    `javax.xml.bind.JAXBException` - when an error occurs

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