Class JAXBReader

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

public class JAXBReader extends JAXBSupport
Reads an XML document and creates a DOM4J tree from SAX parsing events. JAXBObjectHandlerobjects can be registered to automatically receive unmarshalled XML fragments. Registered ElementHandler implementations are notified when a certain element path is encountered
See Also:
  • Field Details

    • reader

      private SAXReader reader
    • pruneElements

      private boolean pruneElements
  • Constructor Details

    • 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 Details

    • 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, 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 JAXBObjectHandlerthat 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 JAXBObjectHandlerfrom the event based processor, for the specified element path.
      Parameters:
      path - The path to remove the JAXBObjectHandlerfor
    • 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 JAXBObjectHandlerand 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 Documentwill not be available afterwards!
      Parameters:
      pruneElements - DOCUMENT ME!
    • getReader

      private SAXReader getReader()