クラス AbstractMarshaller
- 実装されているすべてのインターフェース:
Marshaller,Unmarshaller
- 既知の直属サブクラス
XStreamMarshaller
Marshaller および Unmarshaller インターフェースの抽象実装。この実装は、指定された Source または Result をインスペクションし、さらに処理をオーバーライド可能なテンプレートメソッドに委譲します。- 導入:
- 3.0
- 作成者:
- Arjen Poutsma, Juergen Hoeller
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected DocumentSEDOM ノードのプレースホルダーとして、このマーシャラーのDocumentBuilderFactorySE から新しいDocumentSE を構築します。protected DocumentBuilderSEこのマーシャラーが空のDOMSourceを渡されたときに DOM ドキュメントを作成するために使用するDocumentBuilderを作成します。protected DocumentBuilderFactorySEこのマーシャラーが空のDOMSourceを渡されたときに DOM ドキュメントを作成するために使用するDocumentBuilderを作成します。protected XMLReaderSEこのマーシャラーが空のSAXSourceを渡されたときにXMLReaderを作成します。protected StringSEバイトストリームからのマーシャリングまたはアンマーシャリングに使用するデフォルトエンコーディングを決定します。存在しない場合はnullを決定します。booleanXML 外部エンティティが許可されているかどうかを返します。booleanDTD 解析がサポートされているかどうかを返します。final void指定されたルートを持つオブジェクトグラフを、提供されたjavax.xml.transform.Resultにマーシャリングします。protected abstract voidmarshalDomNode(ObjectSE graph, NodeSE node) 指定されたオブジェクトグラフを DOMNodeにマーシャリングする抽象テンプレートメソッド。protected voidmarshalDomResult(ObjectSE graph, DOMResultSE domResult) DOMResultを処理するためのテンプレートメソッド。protected abstract voidmarshalOutputStream(ObjectSE graph, OutputStreamSE outputStream) 指定されたオブジェクトグラフをOutputStreamにマーシャリングする抽象テンプレートメソッド。protected abstract voidmarshalSaxHandlers(ObjectSE graph, ContentHandlerSE contentHandler, LexicalHandlerSE lexicalHandler) 指定されたオブジェクトグラフを SAXContentHandlerにマーシャリングする抽象テンプレートメソッド。protected voidmarshalSaxResult(ObjectSE graph, SAXResultSE saxResult) SAXResultを処理するためのテンプレートメソッド。protected voidmarshalStaxResult(ObjectSE graph, ResultSE staxResult) StaxResultを処理するためのテンプレートメソッド。protected voidmarshalStreamResult(ObjectSE graph, StreamResultSE streamResult) StreamResultを処理するためのテンプレートメソッド。protected abstract voidmarshalWriter(ObjectSE graph, WriterSE writer) 指定されたオブジェクトグラフをWriterにマーシャリングする抽象テンプレートメソッド。protected abstract voidmarshalXmlEventWriter(ObjectSE graph, XMLEventWriterSE eventWriter) 指定されたオブジェクトを StAXXMLEventWriterにマーシャリングする抽象テンプレートメソッド。protected abstract voidmarshalXmlStreamWriter(ObjectSE graph, XMLStreamWriterSE streamWriter) 指定されたオブジェクトを StAXXMLStreamWriterにマーシャリングする抽象テンプレートメソッド。voidsetProcessExternalEntities(boolean processExternalEntities) 非整列化時に外部 XML エンティティが処理されるかどうかを示します。voidsetSupportDtd(boolean supportDtd) DTD 解析をサポートする必要があるかどうかを示します。final ObjectSE指定された提供されたjavax.xml.transform.Sourceをオブジェクトグラフに非整列化します。protected abstract ObjectSEunmarshalDomNode(NodeSE node) 指定された DOMNodeから非整列化するための抽象テンプレートメソッド。protected ObjectSEunmarshalDomSource(DOMSourceSE domSource) DOMSourceを処理するためのテンプレートメソッド。protected abstract ObjectSEunmarshalInputStream(InputStreamSE inputStream) 指定されたInputStreamから非整列化するための抽象テンプレートメソッド。protected abstract ObjectSEunmarshalReader(ReaderSE reader) 指定されたReaderから非整列化するための抽象テンプレートメソッド。protected abstract ObjectSEunmarshalSaxReader(XMLReaderSE xmlReader, InputSourceSE inputSource) 特定の SAXXMLReaderおよびInputSourceを使用して非整列化するための抽象テンプレートメソッド。protected ObjectSEunmarshalSaxSource(SAXSourceSE saxSource) SAXSourceを処理するためのテンプレートメソッド。protected ObjectSEunmarshalStaxSource(SourceSE staxSource) StaxSourceを処理するためのテンプレートメソッド。protected ObjectSEunmarshalStreamSource(StreamSourceSE streamSource) StreamSourceを処理するためのテンプレートメソッド。protected abstract ObjectSEunmarshalXmlEventReader(XMLEventReaderSE eventReader) 指定された StaxXMLEventReaderから非整列化するための抽象テンプレートメソッド。protected abstract ObjectSEunmarshalXmlStreamReader(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がSAXSourceSE またはStreamSourceSE である場合にのみ、外部エンティティの処理が有効または無効になることに注意してください。DOMSourceSE またはStAXSourceSE インスタンスには影響しません。注意 : このオプションを
trueに設定すると、setSupportDtd(boolean)がtrueに自動的に設定されます。isProcessExternalEntities
public boolean isProcessExternalEntities()XML 外部エンティティが許可されているかどうかを返します。- 関連事項:
buildDocument
DOM ノードのプレースホルダーとして、このマーシャラーのDocumentBuilderFactorySE から新しいDocumentSE を構築します。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.4StAXSourceSE- 例外:
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- SAXContentHandlerlexicalHandler- SAX2LexicalHandlernullにすることができます。- 例外:
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- 解析する SAXXMLReaderinputSource- 解析する入力ソース- 戻り値:
- オブジェクトグラフ
- 例外:
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 例外が発生した場合