Package org.dom4j.jaxb
Class JAXBModifier
java.lang.Object
org.dom4j.jaxb.JAXBModifier
Reads an XML document using SAX and writes its content to the provided
XMLWriter
. Modifications must be provided by JAXBObjectModifier
objects, which are called prior to writing
the XML fragment they are registered for.- Author:
- Wonne Keysers (Realsoftware.be)
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionJAXBModifier
(String contextPath) Creates a new JAXBModifier for the given JAXB context path.JAXBModifier
(String contextPath, ClassLoader classloader) Creates a new JAXBModifier for the given JAXB context path, using the givenClassLoader
.JAXBModifier
(String contextPath, ClassLoader classloader, OutputFormat outputFormat) Creates a new JAXBModifier for the given JAXB context path, using the specifiedClassLoader
.JAXBModifier
(String contextPath, OutputFormat outputFormat) Creates a new JAXBModifier for the given JAXB context path. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addObjectModifier
(String path, JAXBObjectModifier mod) Adds theJAXBObjectModifier
to be called when the specified xml path is encounted while parsing the source.boolean
Returns true when the modifiedDocument
is not kept in memory.protected Element
Marshals the givenElement
in to its DOM4J counterpart.Parses the specifiedFile
with SAXmodify
(InputStream source) Parses the specifiedInputStream
with SAX.modify
(InputStream source, String systemId) Parses the specifiedInputStream
with SAX.Parses the specifiedReader
with SAX.Parses the specifiedReader
with SAX.Parses the the given URL or filename.Parses the the given URL.modify
(InputSource source) Parses the specifiedInputSource
with SAX.void
removeObjectModifier
(String path) Removes theJAXBObjectModifier
from the event based processor, for the specified element path.void
Removes all registeredJAXBObjectModifier
instances from the event based processor.void
Sets the Output to write the (modified) xml document to.void
setOutput
(OutputStream outputStream) Sets the Output to write the (modified) xml document to.void
Sets the Output to write the (modified) xml document to.void
setPruneElements
(boolean pruneElements) Define whether the modifiedDocument
must only be written to the output and pruned from the DOM4J tree.protected Element
-
Constructor Details
-
JAXBModifier
Creates a new JAXBModifier 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:
-
JAXBModifier
Creates a new JAXBModifier for the given JAXB context path, using the givenClassLoader
. 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 usedclassloader
- the classloader to use- See Also:
-
JAXBModifier
Creates a new JAXBModifier for the given JAXB context path. The specifiedOutputFormat
will be used while writing the XML stream.- Parameters:
contextPath
- JAXB context path to be usedoutputFormat
- the DOM4JOutputFormat
to be used- See Also:
-
JAXBModifier
Creates a new JAXBModifier for the given JAXB context path, using the specifiedClassLoader
. The specifiedOutputFormat
will be used while writing the XML stream.- Parameters:
contextPath
- JAXB context path to be usedclassloader
- the class loader to be used to load JAXBoutputFormat
- the DOM4JOutputFormat
to be used- See Also:
-
-
Method Details
-
modify
Parses the specifiedFile
with SAX- Parameters:
source
- the file to parse- Returns:
- the resulting DOM4J document
- Throws:
DocumentException
- when an error occurs while parsingIOException
- when an error occurs while writing to theXMLWriter
-
modify
- Parameters:
source
- the file to parsecharset
- the character set to use- Returns:
- the resulting DOM4J document
- Throws:
DocumentException
- when an error occurs while parsingIOException
- when an error occurs while writing to theXMLWriter
-
modify
Parses the specifiedInputSource
with SAX.- Parameters:
source
- the input source to parse- Returns:
- the resulting DOM4J document
- Throws:
DocumentException
- when an error occurs while parsingIOException
- when an error occurs while writing to theXMLWriter
-
modify
Parses the specifiedInputStream
with SAX.- Parameters:
source
- the inputstream to parse- Returns:
- the resulting DOM4J document
- Throws:
DocumentException
- when an error occurs while parsingIOException
- when an error occurs while writing to theXMLWriter
-
modify
Parses the specifiedInputStream
with SAX.- Parameters:
source
- the inputstream to parsesystemId
- the URI of the given inputstream- Returns:
- the resulting DOM4J document
- Throws:
DocumentException
- when an error occurs while parsingIOException
- when an error occurs while writing to theXMLWriter
-
modify
Parses the specifiedReader
with SAX.- Parameters:
r
- the reader to use for parsing- Returns:
- the resulting DOM4J document
- Throws:
DocumentException
- when an error occurs while parsingIOException
- when an error occurs while writing to theXMLWriter
-
modify
Parses the specifiedReader
with SAX.- Parameters:
source
- the reader to parsesystemId
- the URI of the given reader- Returns:
- the resulting DOM4J document
- Throws:
DocumentException
- when an error occurs while parsingIOException
- when an error occurs while writing to theXMLWriter
-
modify
Parses the the given URL or filename.- Parameters:
url
- the URL or filename to parse- Returns:
- the resulting DOM4J document
- Throws:
DocumentException
- when an error occurs while parsingIOException
- when an error occurs while writing to theXMLWriter
-
modify
Parses the the given URL.- Parameters:
source
- the URL to parse- Returns:
- the resulting DOM4J document
- Throws:
DocumentException
- when an error occurs while parsingIOException
- when an error occurs while writing to theXMLWriter
-
setOutput
Sets the Output to write the (modified) xml document to.- Parameters:
file
- theFile
to write to- Throws:
IOException
- when the file cannot be found or when the outputformat
-
setOutput
Sets the Output to write the (modified) xml document to.- Parameters:
outputStream
- theOutputStream
to write to- Throws:
IOException
- when an error occurs
-
setOutput
Sets the Output to write the (modified) xml document to.- Parameters:
writer
- theWriter
to write to- Throws:
IOException
- when an error occurs
-
addObjectModifier
Adds theJAXBObjectModifier
to be called when the specified xml path is encounted while parsing the source.- Parameters:
path
- the element path to listen formod
- the modifier to register
-
removeObjectModifier
Removes theJAXBObjectModifier
from the event based processor, for the specified element path.- Parameters:
path
- the xml path to remove the modifier for
-
resetObjectModifiers
public void resetObjectModifiers()Removes all registeredJAXBObjectModifier
instances from the event based processor. -
isPruneElements
public boolean isPruneElements()Returns true when the modifiedDocument
is not kept in memory.- Returns:
- Returns true if elements are pruned.
-
setPruneElements
public void setPruneElements(boolean pruneElements) Define whether the modifiedDocument
must only be written to the output and pruned from the DOM4J tree.- Parameters:
pruneElements
- When true, elements will not be kept in memory
-
marshal
Marshals the givenElement
in to its DOM4J counterpart.- Parameters:
element
- JAXB Element to be marshalled- Returns:
- the marshalled DOM4J
Element
- Throws:
JAXBException
- when an error occurs
-
unmarshal
- Parameters:
element
- the DOM4J element to unmarshall- Returns:
- the unmarshalled JAXB object
- Throws:
JAXBException
- when an error occurs
-