Class JAXBWriter

java.lang.Object
org.dom4j.jaxb.JAXBWriter

public class JAXBWriter extends Object
Writes Elementobjects to an XML stream. Element instances can be created using the ObjectFactory that is generated by the JAXB compiler.
Author:
Wonne Keysers (Realsoftware.be)
See Also:
  • Constructor Details

    • JAXBWriter

      public JAXBWriter(String contextPath)
      Creates a new JAXBWriter 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 - JAXB context path to be used
      See Also:
    • JAXBWriter

      public JAXBWriter(String contextPath, OutputFormat outputFormat)
      Creates a new JAXBWriter for the given JAXB context path. The specied OutputFormatwill be used for writing the XML stream.
      Parameters:
      contextPath - JAXB context path to be used
      outputFormat - the DOM4J OutputFormatto be used
      See Also:
    • JAXBWriter

      public JAXBWriter(String contextPath, ClassLoader classloader)
      Creates a new JAXBWriter for the given JAXB context path, using the specified java.lang.Classloader. (This is the Java package where JAXB can find the generated XML classes. This package MUST contain jaxb.properties!)
      Parameters:
      contextPath - JAXB context path to be used
      classloader - the classloader to be used for loading JAXB
      See Also:
    • JAXBWriter

      public JAXBWriter(String contextPath, ClassLoader classloader, OutputFormat outputFormat)
      Creates a new JAXBWriter for the given JAXB context path, using the specified java.lang.Classloader. The specied OutputFormat will be used while writing the XML stream.
      Parameters:
      contextPath - JAXB context path to be used
      classloader - the class loader to be used to load JAXB
      outputFormat - the DOM4J OutputFormatto be used
      See Also:
  • Method Details

    • getOutputFormat

      public OutputFormat getOutputFormat()
      Returns the OutputFormat that will be used when writing the XML stream.
      Returns:
      Returns the output format.
    • setOutput

      public void setOutput(File file) throws IOException
      Defines to write the resulting output to the specified File.
      Parameters:
      file - file to write to
      Throws:
      IOException - when the file cannot be found
    • setOutput

      public void setOutput(OutputStream outputStream) throws IOException
      Defines to write the resulting output to the specified OutputStream
      Parameters:
      outputStream - outputStream to write to.
      Throws:
      IOException - DOCUMENT ME!
    • setOutput

      public void setOutput(Writer writer) throws IOException
      Defines to write the resulting output to the specified Writer.
      Parameters:
      writer - writer to write to
      Throws:
      IOException
    • startDocument

      public void startDocument() throws IOException, SAXException
      Start a document by writing the initial XML declaration to the output. This must be done prior to writing any other elements.
      Throws:
      IOException - if an error occured while writing the output
      SAXException - thrown by the underlying SAX driver
    • endDocument

      public void endDocument() throws IOException, SAXException
      Stop writing the document to the output. This must be done when all other elements are finished.
      Throws:
      IOException - if an error occured while writing the output
      SAXException - thrown by the underlying SAX driver
    • write

      public void write(Element jaxbObject) throws IOException, JAXBException
      Writes the specified Elementto the document. Elementinstances can be created using the ObjectFactory that is generated by the JAXB compiler.
      Parameters:
      jaxbObject -
      Throws:
      IOException - if an error occured while writing the output
      JAXBException - when an error occured while marshalling the jaxbObject
    • writeClose

      public void writeClose(Element jaxbObject) throws IOException, JAXBException
      Writes the closing tag of the specified Elementto the document. This method can be used for writing Element instances can be created using the ObjectFactory that is generated by the JAXB compiler.
      Parameters:
      jaxbObject - the JAXB element to write
      Throws:
      IOException - if an error occured while writing the output
      JAXBException - when an error occured while marshalling the jaxbObject
    • writeOpen

      public void writeOpen(Element jaxbObject) throws IOException, JAXBException
      Writes the opening tag of the specified Elementto the document. Elementinstances can be created using the ObjectFactory that is generated by the JAXB compiler.
      Parameters:
      jaxbObject - the JAXB element to write
      Throws:
      IOException - if an error occured while writing the output
      JAXBException - when an error occured while marshalling the jaxbObject
    • writeElement

      public void writeElement(Element element) throws IOException
      Writes the specified Elementto the document.
      Parameters:
      element - the Elementto write
      Throws:
      IOException - if an error occured while writing the output
    • writeCloseElement

      public void writeCloseElement(Element element) throws IOException
      Writes the closing tag of the specified Elementto the document.
      Parameters:
      element - the Elementto write
      Throws:
      IOException - if an error occured while writing the output
    • writeOpenElement

      public void writeOpenElement(Element element) throws IOException
      Writes the opening tag of the specified Elementto the document.
      Parameters:
      element - the Elementto write
      Throws:
      IOException - if an error occured while writing the output
    • marshal

      protected Element marshal(Element element) throws JAXBException
      Marshals the given Elementin to its DOM4J counterpart.
      Parameters:
      element - JAXB Element to be marshalled
      Returns:
      the marshalled DOM4J Element
      Throws:
      JAXBException - when an error occurs
    • unmarshal

      protected Element unmarshal(Element element) throws JAXBException
      Unmarshalls the specified DOM4J Elementinto a Element
      Parameters:
      element - the DOM4J element to unmarshall
      Returns:
      the unmarshalled JAXB object
      Throws:
      JAXBException - when an error occurs