|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.oxm.support.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 Log |
logger
Logger available to subclasses. |
| Constructor Summary | |
|---|---|
AbstractMarshaller()
|
|
| Method Summary | |
|---|---|
protected DocumentBuilder |
createDocumentBuilder(DocumentBuilderFactory factory)
Create a DocumentBuilder that this marshaller will use for creating
DOM documents when passed an empty DOMSource. |
protected DocumentBuilderFactory |
createDocumentBuilderFactory()
Create a DocumentBuilder that this marshaller will use for creating
DOM documents when passed an empty DOMSource. |
protected XMLReader |
createXmlReader()
Create a XMLReader that this marshaller will when passed an empty SAXSource. |
void |
marshal(Object graph,
Result result)
Marshals the object graph with the given root into the provided javax.xml.transform.Result. |
protected abstract void |
marshalDomNode(Object graph,
Node node)
Abstract template method for marshalling the given object graph to a DOM Node. |
protected void |
marshalDomResult(Object graph,
DOMResult domResult)
Template method for handling DOMResults. |
protected abstract void |
marshalOutputStream(Object graph,
OutputStream outputStream)
Abstract template method for marshalling the given object graph to a OutputStream. |
protected abstract void |
marshalSaxHandlers(Object graph,
ContentHandler contentHandler,
LexicalHandler lexicalHandler)
Abstract template method for marshalling the given object graph to a SAX ContentHandler. |
protected void |
marshalSaxResult(Object graph,
SAXResult saxResult)
Template method for handling SAXResults. |
protected void |
marshalStaxResult(Object graph,
Result staxResult)
Template method for handling StaxResults. |
protected void |
marshalStreamResult(Object graph,
StreamResult streamResult)
Template method for handling StreamResults. |
protected abstract void |
marshalWriter(Object graph,
Writer writer)
Abstract template method for marshalling the given object graph to a Writer. |
protected abstract void |
marshalXmlEventWriter(Object graph,
XMLEventWriter eventWriter)
Abstract template method for marshalling the given object to a StAX XMLEventWriter. |
protected abstract void |
marshalXmlStreamWriter(Object graph,
XMLStreamWriter streamWriter)
Abstract template method for marshalling the given object to a StAX XMLStreamWriter. |
Object |
unmarshal(Source source)
Unmarshals the given provided javax.xml.transform.Source into an object graph. |
protected abstract Object |
unmarshalDomNode(Node node)
Abstract template method for unmarshalling from a given DOM Node. |
protected Object |
unmarshalDomSource(DOMSource domSource)
Template method for handling DOMSources. |
protected abstract Object |
unmarshalInputStream(InputStream inputStream)
Abstract template method for unmarshalling from a given InputStream. |
protected abstract Object |
unmarshalReader(Reader reader)
Abstract template method for unmarshalling from a given Reader. |
protected abstract Object |
unmarshalSaxReader(XMLReader xmlReader,
InputSource inputSource)
Abstract template method for unmarshalling using a given SAX XMLReader
and InputSource. |
protected Object |
unmarshalSaxSource(SAXSource saxSource)
Template method for handling SAXSources. |
protected Object |
unmarshalStaxSource(Source staxSource)
Template method for handling StaxSources. |
protected Object |
unmarshalStreamSource(StreamSource streamSource)
Template method for handling StreamSources. |
protected abstract Object |
unmarshalXmlEventReader(XMLEventReader eventReader)
Abstract template method for unmarshalling from a given Stax XMLEventReader. |
protected abstract Object |
unmarshalXmlStreamReader(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 Log logger
| Constructor Detail |
|---|
public AbstractMarshaller()
| Method Detail |
|---|
public final void marshal(Object graph,
Result result)
throws IOException,
XmlMappingException
javax.xml.transform.Result.
This implementation inspects the given result, and calls marshalDomResult,
marshalSaxResult, or marshalStreamResult.
marshal in interface Marshallergraph - the root of the object graph to marshalresult - the result to marshal to
IOException - if an I/O exception occurs
XmlMappingException - if the given object cannot be marshalled to the result
IllegalArgumentException - if result if neither a DOMResult,
a SAXResult, nor a StreamResultmarshalDomResult(Object, javax.xml.transform.dom.DOMResult),
marshalSaxResult(Object, javax.xml.transform.sax.SAXResult),
marshalStreamResult(Object, javax.xml.transform.stream.StreamResult)
public final Object unmarshal(Source source)
throws IOException,
XmlMappingException
javax.xml.transform.Source into an object graph.
This implementation inspects the given result, and calls unmarshalDomSource,
unmarshalSaxSource, or unmarshalStreamSource.
unmarshal in interface Unmarshallersource - the source to marshal from
IOException - if an I/O Exception occurs
XmlMappingException - if the given source cannot be mapped to an object
IllegalArgumentException - if source is neither a DOMSource,
a SAXSource, nor a StreamSourceunmarshalDomSource(javax.xml.transform.dom.DOMSource),
unmarshalSaxSource(javax.xml.transform.sax.SAXSource),
unmarshalStreamSource(javax.xml.transform.stream.StreamSource)
protected DocumentBuilder createDocumentBuilder(DocumentBuilderFactory factory)
throws 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
ParserConfigurationException - if thrown by JAXP methods
protected DocumentBuilderFactory createDocumentBuilderFactory()
throws 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.
ParserConfigurationException - if thrown by JAXP methods
protected XMLReader createXmlReader()
throws SAXException
XMLReader that this marshaller will when passed an empty SAXSource.
SAXException - if thrown by JAXP methods
protected void marshalDomResult(Object graph,
DOMResult domResult)
throws XmlMappingException
DOMResults.
This implementation delegates to marshalDomNode.
graph - the root of the object graph to marshaldomResult - the DOMResult
XmlMappingException - if the given object cannot be marshalled to the result
IllegalArgumentException - if the domResult is emptymarshalDomNode(Object, org.w3c.dom.Node)
protected void marshalStaxResult(Object graph,
Result staxResult)
throws XmlMappingException
StaxResults.
This implementation delegates to marshalXMLSteamWriter or
marshalXMLEventConsumer, depending on what is contained in the
StaxResult.
graph - the root of the object graph to marshalstaxResult - a Spring StaxSource or JAXP 1.4 StAXSource
XmlMappingException - if the given object cannot be marshalled to the result
IllegalArgumentException - if the domResult is emptymarshalDomNode(Object,org.w3c.dom.Node)
protected void marshalSaxResult(Object graph,
SAXResult saxResult)
throws XmlMappingException
SAXResults.
This implementation delegates 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(Object graph,
StreamResult streamResult)
throws XmlMappingException,
IOException
StreamResults.
This implementation delegates to marshalOutputStream or marshalWriter,
depending on what is contained in the StreamResult
graph - the root of the object graph to marshalstreamResult - the StreamResult
IOException - if an I/O Exception occurs
XmlMappingException - if the given object cannot be marshalled to the result
IllegalArgumentException - if streamResult does neither
contain an OutputStream nor a Writer
protected Object unmarshalDomSource(DOMSource domSource)
throws XmlMappingException
DOMSources.
This implementation delegates to unmarshalDomNode.
If the given source is empty, an empty source Document
will be created as a placeholder.
domSource - the DOMSource
XmlMappingException - if the given source cannot be mapped to an object
IllegalArgumentException - if the domSource is emptyunmarshalDomNode(org.w3c.dom.Node)
protected Object unmarshalStaxSource(Source staxSource)
throws XmlMappingException
StaxSources.
This implementation delegates to unmarshalXmlStreamReader or
unmarshalXmlEventReader.
staxSource - the StaxSource
XmlMappingException - if the given source cannot be mapped to an object
protected Object unmarshalSaxSource(SAXSource saxSource)
throws XmlMappingException,
IOException
SAXSources.
This implementation delegates to unmarshalSaxReader.
saxSource - the SAXSource
XmlMappingException - if the given source cannot be mapped to an object
IOException - if an I/O Exception occursunmarshalSaxReader(org.xml.sax.XMLReader, org.xml.sax.InputSource)
protected Object unmarshalStreamSource(StreamSource streamSource)
throws XmlMappingException,
IOException
StreamSources.
This implementation defers to unmarshalInputStream or unmarshalReader.
streamSource - the StreamSource
IOException - if an I/O exception occurs
XmlMappingException - if the given source cannot be mapped to an object
protected abstract void marshalDomNode(Object graph,
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(Object graph,
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 node
protected abstract void marshalXmlStreamWriter(Object graph,
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 node
protected abstract void marshalOutputStream(Object graph,
OutputStream outputStream)
throws XmlMappingException,
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
IOException - if an I/O exception occurs
protected abstract void marshalSaxHandlers(Object graph,
ContentHandler contentHandler,
LexicalHandler lexicalHandler)
throws XmlMappingException
ContentHandler.
graph - the root of the object graph to marshalcontentHandler - the SAX ContentHandlerlexicalHandler - the SAX2 LexicalHandler. Can be null.
XmlMappingException - if the given object cannot be marshalled to the handlers
protected abstract void marshalWriter(Object graph,
Writer writer)
throws XmlMappingException,
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
IOException - if an I/O exception occurs
protected abstract Object unmarshalDomNode(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 object
protected abstract Object unmarshalXmlEventReader(XMLEventReader eventReader)
throws XmlMappingException
XMLEventReader.
eventReader - the XMLEventReader to read from
XmlMappingException - if the given event reader cannot be converted to an object
protected abstract Object unmarshalXmlStreamReader(XMLStreamReader streamReader)
throws XmlMappingException
XMLStreamReader.
streamReader - the XMLStreamReader to read from
XmlMappingException - if the given stream reader cannot be converted to an object
protected abstract Object unmarshalInputStream(InputStream inputStream)
throws XmlMappingException,
IOException
InputStream.
inputStream - the InputStreamStream to read from
XmlMappingException - if the given stream cannot be converted to an object
IOException - if an I/O exception occurs
protected abstract Object unmarshalReader(Reader reader)
throws XmlMappingException,
IOException
Reader.
reader - the Reader to read from
XmlMappingException - if the given reader cannot be converted to an object
IOException - if an I/O exception occurs
protected abstract Object unmarshalSaxReader(XMLReader xmlReader,
InputSource inputSource)
throws XmlMappingException,
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
IOException - if an I/O exception occurs
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||