Package org.dom4j.jaxb
Class JAXBModifier
java.lang.Object
org.dom4j.jaxb.JAXBSupport
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.- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate SAXModifier
private HashMap<String,
JAXBObjectModifier> private OutputFormat
private boolean
private XMLWriter
-
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.private XMLWriter
private SAXModifier
private XMLWriter
private SAXModifier
boolean
Returns true when the modifiedDocument
is not kept in memory.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.Methods inherited from class org.dom4j.jaxb.JAXBSupport
marshal, unmarshal
-
Field Details
-
modifier
-
xmlWriter
-
pruneElements
private boolean pruneElements -
outputFormat
-
modifiers
-
-
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
-
installModifier
- Throws:
IOException
-
getModifier
-
getXMLWriter
-
createXMLWriter
- Throws:
IOException
-