|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.oxm.AbstractMarshaller
public abstract class AbstractMarshaller
Abstract implementation of the Marshaller
and Unmarshaller
interface. This implementation
inspects the given Source
or Result
, and defers further handling to overridable template
methods.
Field Summary | |
---|---|
protected org.apache.commons.logging.Log |
logger
Logger available to subclasses. |
Constructor Summary | |
---|---|
AbstractMarshaller()
|
Method Summary | |
---|---|
protected javax.xml.parsers.DocumentBuilder |
createDocumentBuilder(javax.xml.parsers.DocumentBuilderFactory factory)
Create a DocumentBuilder that this marshaller will use for creating DOM documents when passed an
empty DOMSource . |
protected javax.xml.parsers.DocumentBuilderFactory |
createDocumentBuilderFactory()
Create a DocumentBuilder that this marshaller will use for creating DOM documents when passed an
empty DOMSource . |
protected org.xml.sax.XMLReader |
createXmlReader()
Create a XMLReader that this marshaller will when passed an empty SAXSource . |
void |
marshal(java.lang.Object graph,
javax.xml.transform.Result result)
Marshals the object graph with the given root into the provided javax.xml.transform.Result . |
protected abstract void |
marshalDomNode(java.lang.Object graph,
org.w3c.dom.Node node)
Abstract template method for marshalling the given object graph to a DOM Node . |
protected void |
marshalDomResult(java.lang.Object graph,
javax.xml.transform.dom.DOMResult domResult)
Template method for handling DOMResult s. |
protected abstract void |
marshalOutputStream(java.lang.Object graph,
java.io.OutputStream outputStream)
Abstract template method for marshalling the given object graph to a OutputStream . |
protected abstract void |
marshalSaxHandlers(java.lang.Object graph,
org.xml.sax.ContentHandler contentHandler,
org.xml.sax.ext.LexicalHandler lexicalHandler)
Abstract template method for marshalling the given object graph to a SAX ContentHandler . |
protected void |
marshalSaxResult(java.lang.Object graph,
javax.xml.transform.sax.SAXResult saxResult)
Template method for handling SAXResult s. |
protected void |
marshalStaxResult(java.lang.Object graph,
org.springframework.xml.transform.StaxResult staxResult)
Template method for handling StaxResult s. |
protected void |
marshalStreamResult(java.lang.Object graph,
javax.xml.transform.stream.StreamResult streamResult)
Template method for handling StreamResult s. |
protected abstract void |
marshalWriter(java.lang.Object graph,
java.io.Writer writer)
Abstract template method for marshalling the given object graph to a Writer . |
protected abstract void |
marshalXmlEventWriter(java.lang.Object graph,
javax.xml.stream.XMLEventWriter eventWriter)
Abstract template method for marshalling the given object to a StAX XMLEventWriter . |
protected abstract void |
marshalXmlStreamWriter(java.lang.Object graph,
javax.xml.stream.XMLStreamWriter streamWriter)
Abstract template method for marshalling the given object to a StAX XMLStreamWriter . |
java.lang.Object |
unmarshal(javax.xml.transform.Source source)
Unmarshals the given provided javax.xml.transform.Source into an object graph. |
protected abstract java.lang.Object |
unmarshalDomNode(org.w3c.dom.Node node)
Abstract template method for unmarshalling from a given DOM Node . |
protected java.lang.Object |
unmarshalDomSource(javax.xml.transform.dom.DOMSource domSource)
Template method for handling DOMSource s. |
protected abstract java.lang.Object |
unmarshalInputStream(java.io.InputStream inputStream)
Abstract template method for unmarshalling from a given InputStream . |
protected abstract java.lang.Object |
unmarshalReader(java.io.Reader reader)
Abstract template method for unmarshalling from a given Reader . |
protected abstract java.lang.Object |
unmarshalSaxReader(org.xml.sax.XMLReader xmlReader,
org.xml.sax.InputSource inputSource)
Abstract template method for unmarshalling using a given SAX XMLReader and
InputSource . |
protected java.lang.Object |
unmarshalSaxSource(javax.xml.transform.sax.SAXSource saxSource)
Template method for handling SAXSource s. |
protected java.lang.Object |
unmarshalStaxSource(org.springframework.xml.transform.StaxSource staxSource)
Template method for handling StaxSource s. |
protected java.lang.Object |
unmarshalStreamSource(javax.xml.transform.stream.StreamSource streamSource)
Template method for handling StreamSource s. |
protected abstract java.lang.Object |
unmarshalXmlEventReader(javax.xml.stream.XMLEventReader eventReader)
Abstract template method for unmarshalling from a given Stax XMLEventReader . |
protected abstract java.lang.Object |
unmarshalXmlStreamReader(javax.xml.stream.XMLStreamReader streamReader)
Abstract template method for unmarshalling from a given Stax XMLStreamReader . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.springframework.oxm.Marshaller |
---|
supports |
Methods inherited from interface org.springframework.oxm.Unmarshaller |
---|
supports |
Field Detail |
---|
protected final org.apache.commons.logging.Log logger
Constructor Detail |
---|
public AbstractMarshaller()
Method Detail |
---|
public final void marshal(java.lang.Object graph, javax.xml.transform.Result result) throws XmlMappingException, java.io.IOException
javax.xml.transform.Result
.
This implementation inspects the given result, and calls marshalDomResult
,
marshalSaxResult
, or marshalStreamResult
.
marshal
in interface Marshaller
graph
- the root of the object graph to marshalresult
- the result to marshal to
XmlMappingException
- if the given object cannot be marshalled to the result
java.io.IOException
- if an I/O exception occurs
java.lang.IllegalArgumentException
- if result
if neither a DOMResult
,
SAXResult
, StreamResult
marshalDomResult(Object,javax.xml.transform.dom.DOMResult)
,
marshalSaxResult(Object,javax.xml.transform.sax.SAXResult)
,
marshalStreamResult(Object,javax.xml.transform.stream.StreamResult)
public final java.lang.Object unmarshal(javax.xml.transform.Source source) throws XmlMappingException, java.io.IOException
javax.xml.transform.Source
into an object graph.
This implementation inspects the given result, and calls unmarshalDomSource
,
unmarshalSaxSource
, or unmarshalStreamSource
.
unmarshal
in interface Unmarshaller
source
- the source to marshal from
XmlMappingException
- if the given source cannot be mapped to an object
java.io.IOException
- if an I/O Exception occurs
java.lang.IllegalArgumentException
- if source
is neither a DOMSource
, a
SAXSource
, nor a StreamSource
unmarshalDomSource(javax.xml.transform.dom.DOMSource)
,
unmarshalSaxSource(javax.xml.transform.sax.SAXSource)
,
unmarshalStreamSource(javax.xml.transform.stream.StreamSource)
protected javax.xml.parsers.DocumentBuilder createDocumentBuilder(javax.xml.parsers.DocumentBuilderFactory factory) throws javax.xml.parsers.ParserConfigurationException
DocumentBuilder
that this marshaller will use for creating DOM documents when passed an
empty DOMSource
. Can be overridden in subclasses, adding further initialization of the builder.
factory
- the DocumentBuilderFactory
that the DocumentBuilder should be created with
DocumentBuilder
javax.xml.parsers.ParserConfigurationException
- if thrown by JAXP methodsprotected javax.xml.parsers.DocumentBuilderFactory createDocumentBuilderFactory() throws javax.xml.parsers.ParserConfigurationException
DocumentBuilder
that this marshaller will use for creating DOM documents when passed an
empty DOMSource
. The resulting DocumentBuilderFactory
is cached, so this method will
only be called once.
javax.xml.parsers.ParserConfigurationException
- if thrown by JAXP methodsprotected org.xml.sax.XMLReader createXmlReader() throws org.xml.sax.SAXException
XMLReader
that this marshaller will when passed an empty SAXSource
.
org.xml.sax.SAXException
- if thrown by JAXP methodsprotected void marshalDomResult(java.lang.Object graph, javax.xml.transform.dom.DOMResult domResult) throws XmlMappingException
DOMResult
s. This implementation defers to marshalDomNode
.
graph
- the root of the object graph to marshaldomResult
- the DOMResult
XmlMappingException
- if the given object cannot be marshalled to the result
java.lang.IllegalArgumentException
- if the domResult
is emptymarshalDomNode(Object,org.w3c.dom.Node)
protected void marshalStaxResult(java.lang.Object graph, org.springframework.xml.transform.StaxResult staxResult) throws XmlMappingException
StaxResult
s. This implementation defers to
marshalXMLSteamWriter
, or marshalXMLEventConsumer
, depending on what is contained in
the StaxResult
.
graph
- the root of the object graph to marshalstaxResult
- the StaxResult
XmlMappingException
- if the given object cannot be marshalled to the result
java.lang.IllegalArgumentException
- if the domResult
is emptymarshalDomNode(Object,org.w3c.dom.Node)
protected void marshalSaxResult(java.lang.Object graph, javax.xml.transform.sax.SAXResult saxResult) throws XmlMappingException
SAXResult
s. This implementation defers to
marshalSaxHandlers
.
graph
- the root of the object graph to marshalsaxResult
- the SAXResult
XmlMappingException
- if the given object cannot be marshalled to the resultmarshalSaxHandlers(Object,org.xml.sax.ContentHandler,org.xml.sax.ext.LexicalHandler)
protected void marshalStreamResult(java.lang.Object graph, javax.xml.transform.stream.StreamResult streamResult) throws XmlMappingException, java.io.IOException
StreamResult
s. This implementation defers to
marshalOutputStream
, or marshalWriter
, depending on what is contained in the
StreamResult
graph
- the root of the object graph to marshalstreamResult
- the StreamResult
java.io.IOException
- if an I/O Exception occurs
XmlMappingException
- if the given object cannot be marshalled to the result
java.lang.IllegalArgumentException
- if streamResult
contains neither OutputStream
nor
Writer
.protected java.lang.Object unmarshalDomSource(javax.xml.transform.dom.DOMSource domSource) throws XmlMappingException
DOMSource
s. This implementation defers to
unmarshalDomNode
. If the given source is empty, an empty source Document
will be
created as a placeholder.
domSource
- the DOMSource
java.lang.IllegalArgumentException
- if the domSource
is empty
XmlMappingException
- if the given source cannot be mapped to an objectunmarshalDomNode(org.w3c.dom.Node)
protected java.lang.Object unmarshalStaxSource(org.springframework.xml.transform.StaxSource staxSource) throws XmlMappingException
StaxSource
s. This implementation defers to
unmarshalXmlStreamReader
, or unmarshalXmlEventReader
.
staxSource
- the StaxSource
XmlMappingException
- if the given source cannot be mapped to an objectprotected java.lang.Object unmarshalSaxSource(javax.xml.transform.sax.SAXSource saxSource) throws XmlMappingException, java.io.IOException
SAXSource
s. This implementation defers to
unmarshalSaxReader
.
saxSource
- the SAXSource
XmlMappingException
- if the given source cannot be mapped to an object
java.io.IOException
- if an I/O Exception occursunmarshalSaxReader(org.xml.sax.XMLReader,org.xml.sax.InputSource)
protected java.lang.Object unmarshalStreamSource(javax.xml.transform.stream.StreamSource streamSource) throws XmlMappingException, java.io.IOException
StreamSource
s. This implementation defers to
unmarshalInputStream
, or unmarshalReader
.
streamSource
- the StreamSource
java.io.IOException
- if an I/O exception occurs
XmlMappingException
- if the given source cannot be mapped to an objectprotected abstract void marshalDomNode(java.lang.Object graph, org.w3c.dom.Node node) throws XmlMappingException
Node
.
In practice, node is be a Document
node, a DocumentFragment
node, or a
Element
node. In other words, a node that accepts children.
graph
- the root of the object graph to marshalnode
- The DOM node that will contain the result tree
XmlMappingException
- if the given object cannot be marshalled to the DOM nodeDocument
,
DocumentFragment
,
Element
protected abstract void marshalXmlEventWriter(java.lang.Object graph, javax.xml.stream.XMLEventWriter eventWriter) throws XmlMappingException
XMLEventWriter
.
graph
- the root of the object graph to marshaleventWriter
- the XMLEventWriter
to write to
XmlMappingException
- if the given object cannot be marshalled to the DOM nodeprotected abstract void marshalXmlStreamWriter(java.lang.Object graph, javax.xml.stream.XMLStreamWriter streamWriter) throws XmlMappingException
XMLStreamWriter
.
graph
- the root of the object graph to marshalstreamWriter
- the XMLStreamWriter
to write to
XmlMappingException
- if the given object cannot be marshalled to the DOM nodeprotected abstract void marshalOutputStream(java.lang.Object graph, java.io.OutputStream outputStream) throws XmlMappingException, java.io.IOException
OutputStream
.
graph
- the root of the object graph to marshaloutputStream
- the OutputStream
to write to
XmlMappingException
- if the given object cannot be marshalled to the writer
java.io.IOException
- if an I/O exception occursprotected abstract void marshalSaxHandlers(java.lang.Object graph, org.xml.sax.ContentHandler contentHandler, org.xml.sax.ext.LexicalHandler lexicalHandler) throws XmlMappingException
ContentHandler
.
graph
- the root of the object graph to marshalcontentHandler
- the SAX ContentHandler
lexicalHandler
- the SAX2 LexicalHandler
. Can be null
.
XmlMappingException
- if the given object cannot be marshalled to the handlersprotected abstract void marshalWriter(java.lang.Object graph, java.io.Writer writer) throws XmlMappingException, java.io.IOException
Writer
.
graph
- the root of the object graph to marshalwriter
- the Writer
to write to
XmlMappingException
- if the given object cannot be marshalled to the writer
java.io.IOException
- if an I/O exception occursprotected abstract java.lang.Object unmarshalDomNode(org.w3c.dom.Node node) throws XmlMappingException
Node
.
node
- The DOM node that contains the objects to be unmarshalled
XmlMappingException
- if the given DOM node cannot be mapped to an objectprotected abstract java.lang.Object unmarshalXmlEventReader(javax.xml.stream.XMLEventReader eventReader) throws XmlMappingException
XMLEventReader
.
eventReader
- The XMLEventReader
to read from
XmlMappingException
- if the given event reader cannot be converted to an objectprotected abstract java.lang.Object unmarshalXmlStreamReader(javax.xml.stream.XMLStreamReader streamReader) throws XmlMappingException
XMLStreamReader
.
streamReader
- The XMLStreamReader
to read from
XmlMappingException
- if the given stream reader cannot be converted to an objectprotected abstract java.lang.Object unmarshalInputStream(java.io.InputStream inputStream) throws XmlMappingException, java.io.IOException
InputStream
.
inputStream
- the InputStreamStream
to read from
XmlMappingException
- if the given stream cannot be converted to an object
java.io.IOException
- if an I/O exception occursprotected abstract java.lang.Object unmarshalReader(java.io.Reader reader) throws XmlMappingException, java.io.IOException
Reader
.
reader
- the Reader
to read from
XmlMappingException
- if the given reader cannot be converted to an object
java.io.IOException
- if an I/O exception occursprotected abstract java.lang.Object unmarshalSaxReader(org.xml.sax.XMLReader xmlReader, org.xml.sax.InputSource inputSource) throws XmlMappingException, java.io.IOException
XMLReader
and
InputSource
.
xmlReader
- the SAX XMLReader
to parse withinputSource
- the input source to parse from
XmlMappingException
- if the given reader and input source cannot be converted to an object
java.io.IOException
- if an I/O exception occurs
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |