クラス AbstractMarshaller
- 実装されたすべてのインターフェース:
Marshaller
,Unmarshaller
- 既知の直属サブクラス
XStreamMarshaller
Marshaller
および Unmarshaller
インターフェースの抽象実装。この実装は、指定された Source
または Result
をインスペクションし、さらに処理をオーバーライド可能なテンプレートメソッドに委譲します。- 導入:
- 3.0
- 作成者:
- Arjen Poutsma, Juergen Hoeller
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected DocumentSE
DOM ノードのプレースホルダーとして、このマーシャラーのDocumentBuilderFactory
SE から新しいDocument
SE を構築します。protected DocumentBuilderSE
このマーシャラーが空のDOMSource
を渡されたときに DOM ドキュメントを作成するために使用するDocumentBuilder
を作成します。protected DocumentBuilderFactorySE
このマーシャラーが空のDOMSource
を渡されたときに DOM ドキュメントを作成するために使用するDocumentBuilder
を作成します。protected XMLReaderSE
このマーシャラーが空のSAXSource
を渡されたときにXMLReader
を作成します。protected StringSE
バイトストリームからのマーシャリングまたはアンマーシャリングに使用するデフォルトエンコーディングを決定します。存在しない場合はnull
を決定します。boolean
XML 外部エンティティが許可されているかどうかを返します。boolean
DTD 解析がサポートされているかどうかを返します。final void
指定されたルートを持つオブジェクトグラフを、提供されたjavax.xml.transform.Result
にマーシャリングします。protected abstract void
marshalDomNode
(ObjectSE graph, NodeSE node) 指定されたオブジェクトグラフを DOMNode
にマーシャリングする抽象テンプレートメソッド。protected void
marshalDomResult
(ObjectSE graph, DOMResultSE domResult) DOMResult
を処理するためのテンプレートメソッド。protected abstract void
marshalOutputStream
(ObjectSE graph, OutputStreamSE outputStream) 指定されたオブジェクトグラフをOutputStream
にマーシャリングする抽象テンプレートメソッド。protected abstract void
marshalSaxHandlers
(ObjectSE graph, ContentHandlerSE contentHandler, LexicalHandlerSE lexicalHandler) 指定されたオブジェクトグラフを SAXContentHandler
にマーシャリングする抽象テンプレートメソッド。protected void
marshalSaxResult
(ObjectSE graph, SAXResultSE saxResult) SAXResult
を処理するためのテンプレートメソッド。protected void
marshalStaxResult
(ObjectSE graph, ResultSE staxResult) StaxResult
を処理するためのテンプレートメソッド。protected void
marshalStreamResult
(ObjectSE graph, StreamResultSE streamResult) StreamResult
を処理するためのテンプレートメソッド。protected abstract void
marshalWriter
(ObjectSE graph, WriterSE writer) 指定されたオブジェクトグラフをWriter
にマーシャリングする抽象テンプレートメソッド。protected abstract void
marshalXmlEventWriter
(ObjectSE graph, XMLEventWriterSE eventWriter) 指定されたオブジェクトを StAXXMLEventWriter
にマーシャリングする抽象テンプレートメソッド。protected abstract void
marshalXmlStreamWriter
(ObjectSE graph, XMLStreamWriterSE streamWriter) 指定されたオブジェクトを StAXXMLStreamWriter
にマーシャリングする抽象テンプレートメソッド。void
setProcessExternalEntities
(boolean processExternalEntities) 非整列化時に外部 XML エンティティが処理されるかどうかを示します。void
setSupportDtd
(boolean supportDtd) DTD 解析をサポートする必要があるかどうかを示します。final ObjectSE
指定された提供されたjavax.xml.transform.Source
をオブジェクトグラフに非整列化します。protected abstract ObjectSE
unmarshalDomNode
(NodeSE node) 指定された DOMNode
から非整列化するための抽象テンプレートメソッド。protected ObjectSE
unmarshalDomSource
(DOMSourceSE domSource) DOMSource
を処理するためのテンプレートメソッド。protected abstract ObjectSE
unmarshalInputStream
(InputStreamSE inputStream) 指定されたInputStream
から非整列化するための抽象テンプレートメソッド。protected abstract ObjectSE
unmarshalReader
(ReaderSE reader) 指定されたReader
から非整列化するための抽象テンプレートメソッド。protected abstract ObjectSE
unmarshalSaxReader
(XMLReaderSE xmlReader, InputSourceSE inputSource) 特定の SAXXMLReader
およびInputSource
を使用して非整列化するための抽象テンプレートメソッド。protected ObjectSE
unmarshalSaxSource
(SAXSourceSE saxSource) SAXSource
を処理するためのテンプレートメソッド。protected ObjectSE
unmarshalStaxSource
(SourceSE staxSource) StaxSource
を処理するためのテンプレートメソッド。protected ObjectSE
unmarshalStreamSource
(StreamSourceSE streamSource) StreamSource
を処理するためのテンプレートメソッド。protected abstract ObjectSE
unmarshalXmlEventReader
(XMLEventReaderSE eventReader) 指定された StaxXMLEventReader
から非整列化するための抽象テンプレートメソッド。protected abstract ObjectSE
unmarshalXmlStreamReader
(XMLStreamReaderSE streamReader) 指定された StaxXMLStreamReader
から非整列化するための抽象テンプレートメソッド。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.oxm.Marshaller から継承されたメソッド
supports
インターフェース org.springframework.oxm.Unmarshaller から継承されたメソッド
supports
フィールドの詳細
logger
サブクラスで利用可能なロガー。
コンストラクターの詳細
AbstractMarshaller
public AbstractMarshaller()
メソッドの詳細
setSupportDtd
public void setSupportDtd(boolean supportDtd) DTD 解析をサポートする必要があるかどうかを示します。デフォルトは
false
で、DTD が無効になっています。isSupportDtd
public boolean isSupportDtd()DTD 解析がサポートされているかどうかを返します。setProcessExternalEntities
public void setProcessExternalEntities(boolean processExternalEntities) 非整列化時に外部 XML エンティティが処理されるかどうかを示します。デフォルトは
false
です。これは、外部エンティティが解決されないことを意味します。unmarshal(Source)
に渡されるSource
がSAXSource
SE またはStreamSource
SE である場合にのみ、外部エンティティの処理が有効または無効になることに注意してください。DOMSource
SE またはStAXSource
SE インスタンスには影響しません。注意 : このオプションを
true
に設定すると、setSupportDtd(boolean)
がtrue
に自動的に設定されます。isProcessExternalEntities
public boolean isProcessExternalEntities()XML 外部エンティティが許可されているかどうかを返します。- 関連事項:
buildDocument
DOM ノードのプレースホルダーとして、このマーシャラーのDocumentBuilderFactory
SE から新しいDocument
SE を構築します。createDocumentBuilderFactory
protected DocumentBuilderFactorySE createDocumentBuilderFactory() throws ParserConfigurationExceptionSEこのマーシャラーが空のDOMSource
を渡されたときに DOM ドキュメントを作成するために使用するDocumentBuilder
を作成します。結果の
DocumentBuilderFactory
はキャッシュされるため、このメソッドは一度だけ呼び出されます。- 戻り値:
- DocumentBuilderFactory
- 例外:
ParserConfigurationExceptionSE
- JAXP メソッドによってスローされた場合
createDocumentBuilder
protected DocumentBuilderSE createDocumentBuilder(DocumentBuilderFactorySE factory) throws ParserConfigurationExceptionSE このマーシャラーが空のDOMSource
を渡されたときに DOM ドキュメントを作成するために使用するDocumentBuilder
を作成します。サブクラスでオーバーライドでき、ビルダーの初期化を追加します。
- パラメーター:
factory
- DocumentBuilder を作成するDocumentBuilderFactory
- 戻り値:
DocumentBuilder
- 例外:
ParserConfigurationExceptionSE
- JAXP メソッドによってスローされた場合
createXmlReader
このマーシャラーが空のSAXSource
を渡されたときにXMLReader
を作成します。- 戻り値:
- XMLReader
- 例外:
SAXExceptionSE
- JAXP メソッドによってスローされた場合ParserConfigurationExceptionSE
- JAXP メソッドによってスローされた場合
getDefaultEncoding
バイトストリームからのマーシャリングまたはアンマーシャリングに使用するデフォルトエンコーディングを決定します。存在しない場合はnull
を決定します。デフォルトの実装は
null
を返します。marshal
public final void marshal(ObjectSE graph, ResultSE result) throws IOExceptionSE, XmlMappingException 指定されたルートを持つオブジェクトグラフを、提供されたjavax.xml.transform.Result
にマーシャリングします。この実装は、指定された結果をインスペクションし、
marshalDomResult
、marshalSaxResult
、marshalStreamResult
を呼び出します。- 次で指定:
- インターフェース
Marshaller
のmarshal
- パラメーター:
graph
- マーシャリングするオブジェクトグラフのルートresult
- マーシャリングする結果- 例外:
IOExceptionSE
- I/O 例外が発生した場合XmlMappingException
- 指定されたオブジェクトを結果に整列化できない場合IllegalArgumentExceptionSE
-result
の場合DOMResult
、SAXResult
、StreamResult
のいずれでもない場合- 関連事項:
marshalDomResult
DOMResult
を処理するためのテンプレートメソッド。この実装は
marshalDomNode
に委譲します。- パラメーター:
graph
- マーシャリングするオブジェクトグラフのルートdomResult
-DOMResult
- 例外:
XmlMappingException
- 指定されたオブジェクトを結果に整列化できない場合IllegalArgumentExceptionSE
-domResult
が空の場合- 関連事項:
marshalStaxResult
StaxResult
を処理するためのテンプレートメソッド。この実装は、
StaxResult
の内容に応じて、marshalXMLSteamWriter
またはmarshalXMLEventConsumer
に委譲します。- パラメーター:
graph
- マーシャリングするオブジェクトグラフのルートstaxResult
- JAXP 1.4StAXSource
SE- 例外:
XmlMappingException
- 指定されたオブジェクトを結果に整列化できない場合IllegalArgumentExceptionSE
-domResult
が空の場合- 関連事項:
marshalSaxResult
SAXResult
を処理するためのテンプレートメソッド。この実装は
marshalSaxHandlers
に委譲します。- パラメーター:
graph
- マーシャリングするオブジェクトグラフのルートsaxResult
-SAXResult
- 例外:
XmlMappingException
- 指定されたオブジェクトを結果に整列化できない場合- 関連事項:
marshalStreamResult
protected void marshalStreamResult(ObjectSE graph, StreamResultSE streamResult) throws XmlMappingException, IOExceptionSE StreamResult
を処理するためのテンプレートメソッド。この実装は、
StreamResult
の内容に応じて、marshalOutputStream
またはmarshalWriter
に委譲します。- パラメーター:
graph
- マーシャリングするオブジェクトグラフのルートstreamResult
-StreamResult
- 例外:
IOExceptionSE
- I/O 例外が発生した場合XmlMappingException
- 指定されたオブジェクトを結果に整列化できない場合IllegalArgumentExceptionSE
-streamResult
にOutputStream
もWriter
も含まれていない場合
unmarshal
指定された提供されたjavax.xml.transform.Source
をオブジェクトグラフに非整列化します。この実装は、指定された結果をインスペクションし、
unmarshalDomSource
、unmarshalSaxSource
、unmarshalStreamSource
を呼び出します。- 次で指定:
- インターフェース
Unmarshaller
のunmarshal
- パラメーター:
source
- マーシャリングのソース- 戻り値:
- オブジェクトグラフ
- 例外:
IOExceptionSE
- I/O 例外が発生した場合XmlMappingException
- 指定されたソースをオブジェクトにマップできない場合IllegalArgumentExceptionSE
-source
がDOMSource
、SAXSource
、StreamSource
でない場合- 関連事項:
unmarshalDomSource
DOMSource
を処理するためのテンプレートメソッド。この実装は
unmarshalDomNode
に委譲します。指定されたソースが空の場合、空のソースDocument
がプレースホルダーとして作成されます。- パラメーター:
domSource
-DOMSource
- 戻り値:
- オブジェクトグラフ
- 例外:
XmlMappingException
- 指定されたソースをオブジェクトにマップできない場合IllegalArgumentExceptionSE
-domSource
が空の場合- 関連事項:
unmarshalStaxSource
StaxSource
を処理するためのテンプレートメソッド。この実装は
unmarshalXmlStreamReader
またはunmarshalXmlEventReader
に委譲します。- パラメーター:
staxSource
-StaxSource
- 戻り値:
- オブジェクトグラフ
- 例外:
XmlMappingException
- 指定されたソースをオブジェクトにマップできない場合
unmarshalSaxSource
protected ObjectSE unmarshalSaxSource(SAXSourceSE saxSource) throws XmlMappingException, IOExceptionSE SAXSource
を処理するためのテンプレートメソッド。この実装は
unmarshalSaxReader
に委譲します。- パラメーター:
saxSource
-SAXSource
- 戻り値:
- オブジェクトグラフ
- 例外:
XmlMappingException
- 指定されたソースをオブジェクトにマップできない場合IOExceptionSE
- I/O 例外が発生した場合- 関連事項:
unmarshalStreamSource
protected ObjectSE unmarshalStreamSource(StreamSourceSE streamSource) throws XmlMappingException, IOExceptionSE StreamSource
を処理するためのテンプレートメソッド。この実装は
unmarshalInputStream
またはunmarshalReader
に委譲します。- パラメーター:
streamSource
-StreamSource
- 戻り値:
- オブジェクトグラフ
- 例外:
IOExceptionSE
- I/O 例外が発生した場合XmlMappingException
- 指定されたソースをオブジェクトにマップできない場合
marshalDomNode
指定されたオブジェクトグラフを DOMNode
にマーシャリングする抽象テンプレートメソッド。実際には、
node
はDocument
ノード、DocumentFragment
ノード、Element
ノードです。つまり、子を受け入れるノードです。- パラメーター:
graph
- マーシャリングするオブジェクトグラフのルートnode
- 結果ツリーを含む DOM ノード- 例外:
XmlMappingException
- 指定されたオブジェクトを DOM ノードに整列化できない場合- 関連事項:
marshalXmlEventWriter
protected abstract void marshalXmlEventWriter(ObjectSE graph, XMLEventWriterSE eventWriter) throws XmlMappingException 指定されたオブジェクトを StAXXMLEventWriter
にマーシャリングする抽象テンプレートメソッド。- パラメーター:
graph
- マーシャリングするオブジェクトグラフのルートeventWriter
- 書き込むXMLEventWriter
- 例外:
XmlMappingException
- 指定されたオブジェクトを DOM ノードに整列化できない場合
marshalXmlStreamWriter
protected abstract void marshalXmlStreamWriter(ObjectSE graph, XMLStreamWriterSE streamWriter) throws XmlMappingException 指定されたオブジェクトを StAXXMLStreamWriter
にマーシャリングする抽象テンプレートメソッド。- パラメーター:
graph
- マーシャリングするオブジェクトグラフのルートstreamWriter
- 書き込むXMLStreamWriter
- 例外:
XmlMappingException
- 指定されたオブジェクトを DOM ノードに整列化できない場合
marshalSaxHandlers
protected abstract void marshalSaxHandlers(ObjectSE graph, ContentHandlerSE contentHandler, @Nullable LexicalHandlerSE lexicalHandler) throws XmlMappingException 指定されたオブジェクトグラフを SAXContentHandler
にマーシャリングする抽象テンプレートメソッド。- パラメーター:
graph
- マーシャリングするオブジェクトグラフのルートcontentHandler
- SAXContentHandler
lexicalHandler
- SAX2LexicalHandler
null
にすることができます。- 例外:
XmlMappingException
- 指定されたオブジェクトをハンドラーにマーシャリングできない場合
marshalOutputStream
protected abstract void marshalOutputStream(ObjectSE graph, OutputStreamSE outputStream) throws XmlMappingException, IOExceptionSE 指定されたオブジェクトグラフをOutputStream
にマーシャリングする抽象テンプレートメソッド。- パラメーター:
graph
- マーシャリングするオブジェクトグラフのルートoutputStream
- 書き込むOutputStream
- 例外:
XmlMappingException
- 指定されたオブジェクトをライターにマーシャリングできない場合IOExceptionSE
- I/O 例外が発生した場合
marshalWriter
protected abstract void marshalWriter(ObjectSE graph, WriterSE writer) throws XmlMappingException, IOExceptionSE 指定されたオブジェクトグラフをWriter
にマーシャリングする抽象テンプレートメソッド。- パラメーター:
graph
- マーシャリングするオブジェクトグラフのルートwriter
- 書き込むWriter
- 例外:
XmlMappingException
- 指定されたオブジェクトをライターにマーシャリングできない場合IOExceptionSE
- I/O 例外が発生した場合
unmarshalDomNode
指定された DOMNode
から非整列化するための抽象テンプレートメソッド。- パラメーター:
node
- 非整列化するオブジェクトを含む DOM ノード- 戻り値:
- オブジェクトグラフ
- 例外:
XmlMappingException
- 指定された DOM ノードをオブジェクトにマップできない場合
unmarshalXmlEventReader
protected abstract ObjectSE unmarshalXmlEventReader(XMLEventReaderSE eventReader) throws XmlMappingException 指定された StaxXMLEventReader
から非整列化するための抽象テンプレートメソッド。- パラメーター:
eventReader
- 読み込むXMLEventReader
- 戻り値:
- オブジェクトグラフ
- 例外:
XmlMappingException
- 指定されたイベントリーダーをオブジェクトに変換できない場合
unmarshalXmlStreamReader
protected abstract ObjectSE unmarshalXmlStreamReader(XMLStreamReaderSE streamReader) throws XmlMappingException 指定された StaxXMLStreamReader
から非整列化するための抽象テンプレートメソッド。- パラメーター:
streamReader
- 読み込むXMLStreamReader
- 戻り値:
- オブジェクトグラフ
- 例外:
XmlMappingException
- 指定されたストリームリーダーをオブジェクトに変換できない場合
unmarshalSaxReader
protected abstract ObjectSE unmarshalSaxReader(XMLReaderSE xmlReader, InputSourceSE inputSource) throws XmlMappingException, IOExceptionSE 特定の SAXXMLReader
およびInputSource
を使用して非整列化するための抽象テンプレートメソッド。- パラメーター:
xmlReader
- 解析する SAXXMLReader
inputSource
- 解析する入力ソース- 戻り値:
- オブジェクトグラフ
- 例外:
XmlMappingException
- 指定されたリーダーと入力ソースをオブジェクトに変換できない場合IOExceptionSE
- I/O 例外が発生した場合
unmarshalInputStream
protected abstract ObjectSE unmarshalInputStream(InputStreamSE inputStream) throws XmlMappingException, IOExceptionSE 指定されたInputStream
から非整列化するための抽象テンプレートメソッド。- パラメーター:
inputStream
- 読み込むInputStreamStream
- 戻り値:
- オブジェクトグラフ
- 例外:
XmlMappingException
- 指定されたストリームをオブジェクトに変換できない場合IOExceptionSE
- I/O 例外が発生した場合
unmarshalReader
protected abstract ObjectSE unmarshalReader(ReaderSE reader) throws XmlMappingException, IOExceptionSE 指定されたReader
から非整列化するための抽象テンプレートメソッド。- パラメーター:
reader
- 読み込むReader
- 戻り値:
- オブジェクトグラフ
- 例外:
XmlMappingException
- 指定されたリーダーをオブジェクトに変換できない場合IOExceptionSE
- I/O 例外が発生した場合