|
||||||||||
| 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 DOMResults. |
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 SAXResults. |
protected void |
marshalStaxResult(java.lang.Object graph,
javax.xml.transform.Result staxResult)
Template method for handling StaxResults. |
protected void |
marshalStreamResult(java.lang.Object graph,
javax.xml.transform.stream.StreamResult streamResult)
Template method for handling StreamResults. |
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 DOMSources. |
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 SAXSources. |
protected java.lang.Object |
unmarshalStaxSource(javax.xml.transform.Source staxSource)
Template method for handling StaxSources. |
protected java.lang.Object |
unmarshalStreamSource(javax.xml.transform.stream.StreamSource streamSource)
Template method for handling StreamSources. |
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 Marshallergraph - 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, StreamResultmarshalDomResult(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 Unmarshallersource - 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 StreamSourceunmarshalDomSource(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 methods
protected 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 methods
protected 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 methods
protected void marshalDomResult(java.lang.Object graph,
javax.xml.transform.dom.DOMResult domResult)
throws XmlMappingException
DOMResults. 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,
javax.xml.transform.Result staxResult)
throws XmlMappingException
StaxResults. This implementation defers to
marshalXMLSteamWriter, or marshalXMLEventConsumer, depending on what is contained in
the StaxResult.
graph - the root of the object graph to marshalstaxResult - a Spring-WS StaxSource or JAXP 1.4 StAXSource
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
SAXResults. 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
StreamResults. 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
DOMSources. 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(javax.xml.transform.Source staxSource)
throws XmlMappingException
StaxSources. This implementation defers to
unmarshalXmlStreamReader, or unmarshalXmlEventReader.
staxSource - the StaxSource
XmlMappingException - if the given source cannot be mapped to an object
protected java.lang.Object unmarshalSaxSource(javax.xml.transform.sax.SAXSource saxSource)
throws XmlMappingException,
java.io.IOException
SAXSources. 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
StreamSources. 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 object
protected 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 node
protected 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 node
protected 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 occurs
protected 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 ContentHandlerlexicalHandler - the SAX2 LexicalHandler. Can be null.
XmlMappingException - if the given object cannot be marshalled to the handlers
protected 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 occurs
protected 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 object
protected 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 object
protected 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 object
protected 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 occurs
protected 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 occurs
protected 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 | |||||||||