public abstract class AbstractMarshaller extends java.lang.Object implements Marshaller, Unmarshaller
Marshaller および Unmarshaller インターフェースの抽象実装。この実装は、指定された Source または Result をインスペクションし、さらに処理をオーバーライド可能なテンプレートメソッドに委譲します。| コンストラクターと説明 |
|---|
AbstractMarshaller() |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected org.w3c.dom.Document | buildDocument()DOM ノードのプレースホルダーとして、このマーシャラーの DocumentBuilderFactory から新しい Document を構築します。 |
protected javax.xml.parsers.DocumentBuilder | createDocumentBuilder(javax.xml.parsers.DocumentBuilderFactory factory) このマーシャラーが空の DOMSource を渡されたときに DOM ドキュメントを作成するために使用する DocumentBuilder を作成します。 |
protected javax.xml.parsers.DocumentBuilderFactory | createDocumentBuilderFactory() このマーシャラーが空の DOMSource を渡されたときに DOM ドキュメントを作成するために使用する DocumentBuilder を作成します。 |
protected org.xml.sax.XMLReader | createXmlReader() このマーシャラーが空の SAXSource を渡されたときに XMLReader を作成します。 |
protected java.lang.String | getDefaultEncoding() バイトストリームからのマーシャリングまたはアンマーシャリングに使用するデフォルトエンコーディングを決定します。存在しない場合は null を決定します。 |
boolean | isProcessExternalEntities()XML 外部エンティティを許可するかどうかの構成値を返します。 |
boolean | isSupportDtd()DTD 解析がサポートされているかどうか。 |
void | marshal(java.lang.Object graph, javax.xml.transform.Result result) 指定されたルートを持つオブジェクトグラフを、提供された javax.xml.transform.Result にマーシャリングします。 |
protected abstract void | marshalDomNode(java.lang.Object graph, org.w3c.dom.Node node) 指定されたオブジェクトグラフを DOM Node にマーシャリングする抽象テンプレートメソッド。 |
protected void | marshalDomResult(java.lang.Object graph, javax.xml.transform.dom.DOMResult domResult)DOMResult を処理するためのテンプレートメソッド。 |
protected abstract void | marshalOutputStream(java.lang.Object graph, java.io.OutputStream outputStream) 指定されたオブジェクトグラフを OutputStream にマーシャリングする抽象テンプレートメソッド。 |
protected abstract void | marshalSaxHandlers(java.lang.Object graph, org.xml.sax.ContentHandler contentHandler, org.xml.sax.ext.LexicalHandler lexicalHandler) 指定されたオブジェクトグラフを SAX ContentHandler にマーシャリングする抽象テンプレートメソッド。 |
protected void | marshalSaxResult(java.lang.Object graph, javax.xml.transform.sax.SAXResult saxResult)SAXResult を処理するためのテンプレートメソッド。 |
protected void | marshalStaxResult(java.lang.Object graph, javax.xml.transform.Result staxResult)StaxResult を処理するためのテンプレートメソッド。 |
protected void | marshalStreamResult(java.lang.Object graph, javax.xml.transform.stream.StreamResult streamResult)StreamResult を処理するためのテンプレートメソッド。 |
protected abstract void | marshalWriter(java.lang.Object graph, java.io.Writer writer) 指定されたオブジェクトグラフを Writer にマーシャリングする抽象テンプレートメソッド。 |
protected abstract void | marshalXmlEventWriter(java.lang.Object graph, javax.xml.stream.XMLEventWriter eventWriter) 指定されたオブジェクトを StAX XMLEventWriter にマーシャリングする抽象テンプレートメソッド。 |
protected abstract void | marshalXmlStreamWriter(java.lang.Object graph, javax.xml.stream.XMLStreamWriter streamWriter) 指定されたオブジェクトを StAX XMLStreamWriter にマーシャリングする抽象テンプレートメソッド。 |
void | setProcessExternalEntities(boolean processExternalEntities) 非整列化時に外部 XML エンティティが処理されるかどうかを示します。 |
void | setSupportDtd(boolean supportDtd)DTD 解析をサポートする必要があるかどうかを示します。 |
java.lang.Object | unmarshal(javax.xml.transform.Source source) 指定された提供された javax.xml.transform.Source をオブジェクトグラフに非整列化します。 |
protected abstract java.lang.Object | unmarshalDomNode(org.w3c.dom.Node node) 指定された DOM Node から非整列化するための抽象テンプレートメソッド。 |
protected java.lang.Object | unmarshalDomSource(javax.xml.transform.dom.DOMSource domSource)DOMSource を処理するためのテンプレートメソッド。 |
protected abstract java.lang.Object | unmarshalInputStream(java.io.InputStream inputStream) 指定された InputStream から非整列化するための抽象テンプレートメソッド。 |
protected abstract java.lang.Object | unmarshalReader(java.io.Reader reader) 指定された Reader から非整列化するための抽象テンプレートメソッド。 |
protected abstract java.lang.Object | unmarshalSaxReader(org.xml.sax.XMLReader xmlReader, org.xml.sax.InputSource inputSource) 特定の SAX XMLReader および InputSource を使用して非整列化するための抽象テンプレートメソッド。 |
protected java.lang.Object | unmarshalSaxSource(javax.xml.transform.sax.SAXSource saxSource)SAXSource を処理するためのテンプレートメソッド。 |
protected java.lang.Object | unmarshalStaxSource(javax.xml.transform.Source staxSource)StaxSource を処理するためのテンプレートメソッド。 |
protected java.lang.Object | unmarshalStreamSource(javax.xml.transform.stream.StreamSource streamSource)StreamSource を処理するためのテンプレートメソッド。 |
protected abstract java.lang.Object | unmarshalXmlEventReader(javax.xml.stream.XMLEventReader eventReader) 指定された Stax XMLEventReader から非整列化するための抽象テンプレートメソッド。 |
protected abstract java.lang.Object | unmarshalXmlStreamReader(javax.xml.stream.XMLStreamReader streamReader) 指定された Stax XMLStreamReader から非整列化するための抽象テンプレートメソッド。 |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsupportssupportsprotected final Log logger
public void setSupportDtd(boolean supportDtd)
デフォルトは false で、DTD が無効になっています。
public boolean isSupportDtd()
public void setProcessExternalEntities(boolean processExternalEntities)
デフォルトは false です。これは、外部エンティティが解決されないことを意味します。unmarshal(Source) に渡される Source が SAXSource または StreamSource である場合にのみ、外部エンティティの処理が有効または無効になることに注意してください。DOMSource または StAXSource インスタンスには影響しません。
注意 : このオプションを true に設定すると、setSupportDtd(boolean) が true に自動的に設定されます。
public boolean isProcessExternalEntities()
createXmlReader()protected org.w3c.dom.Document buildDocument()
DocumentBuilderFactory から新しい Document を構築します。protected javax.xml.parsers.DocumentBuilderFactory createDocumentBuilderFactory()
throws javax.xml.parsers.ParserConfigurationExceptionDOMSource を渡されたときに DOM ドキュメントを作成するために使用する DocumentBuilder を作成します。 結果の DocumentBuilderFactory はキャッシュされるため、このメソッドは一度だけ呼び出されます。
javax.xml.parsers.ParserConfigurationException - JAXP メソッドによってスローされた場合 protected javax.xml.parsers.DocumentBuilder createDocumentBuilder(javax.xml.parsers.DocumentBuilderFactory factory)
throws javax.xml.parsers.ParserConfigurationExceptionDOMSource を渡されたときに DOM ドキュメントを作成するために使用する DocumentBuilder を作成します。サブクラスでオーバーライドでき、ビルダーの初期化を追加します。
factory - DocumentBuilder を作成する DocumentBuilderFactory DocumentBuilderjavax.xml.parsers.ParserConfigurationException - JAXP メソッドによってスローされた場合 protected org.xml.sax.XMLReader createXmlReader()
throws org.xml.sax.SAXExceptionSAXSource を渡されたときに XMLReader を作成します。org.xml.sax.SAXException - JAXP メソッドによってスローされた場合 @Nullable protected java.lang.String getDefaultEncoding()
null を決定します。 デフォルトの実装は null を返します。
public final void marshal(java.lang.Object graph,
javax.xml.transform.Result result)
throws java.io.IOException,
XmlMappingExceptionjavax.xml.transform.Result にマーシャリングします。 この実装は、指定された結果をインスペクションし、marshalDomResult、marshalSaxResult、marshalStreamResult を呼び出します。
Marshaller 内の marshal graph - マーシャリングするオブジェクトグラフのルート result - マーシャリングする結果 java.io.IOException - I/O 例外が発生した場合 XmlMappingException - 指定されたオブジェクトを結果に整列化できない場合 java.lang.IllegalArgumentException - result の場合 DOMResult、SAXResult、StreamResult のいずれでもない場合 marshalDomResult(Object, javax.xml.transform.dom.DOMResult), marshalSaxResult(Object, javax.xml.transform.sax.SAXResult), marshalStreamResult(Object, javax.xml.transform.stream.StreamResult)protected void marshalDomResult(java.lang.Object graph,
javax.xml.transform.dom.DOMResult domResult)
throws XmlMappingExceptionDOMResult を処理するためのテンプレートメソッド。 この実装は marshalDomNode に委譲します。
graph - マーシャリングするオブジェクトグラフのルート domResult - DOMResultXmlMappingException - 指定されたオブジェクトを結果に整列化できない場合 java.lang.IllegalArgumentException - domResult が空の場合 marshalDomNode(Object, org.w3c.dom.Node)protected void marshalStaxResult(java.lang.Object graph,
javax.xml.transform.Result staxResult)
throws XmlMappingExceptionStaxResult を処理するためのテンプレートメソッド。 この実装は、StaxResult の内容に応じて、marshalXMLSteamWriter または marshalXMLEventConsumer に委譲します。
graph - マーシャリングするオブジェクトグラフのルート staxResult - JAXP 1.4 StAXSourceXmlMappingException - 指定されたオブジェクトを結果に整列化できない場合 java.lang.IllegalArgumentException - domResult が空の場合 marshalDomNode(Object, org.w3c.dom.Node)protected void marshalSaxResult(java.lang.Object graph,
javax.xml.transform.sax.SAXResult saxResult)
throws XmlMappingExceptionSAXResult を処理するためのテンプレートメソッド。 この実装は marshalSaxHandlers に委譲します。
graph - マーシャリングするオブジェクトグラフのルート saxResult - SAXResultXmlMappingException - 指定されたオブジェクトを結果に整列化できない場合 marshalSaxHandlers(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.IOExceptionStreamResult を処理するためのテンプレートメソッド。 この実装は、StreamResult の内容に応じて、marshalOutputStream または marshalWriter に委譲します。
graph - マーシャリングするオブジェクトグラフのルート streamResult - StreamResultjava.io.IOException - I/O 例外が発生した場合 XmlMappingException - 指定されたオブジェクトを結果に整列化できない場合 java.lang.IllegalArgumentException - streamResult に OutputStream も Writer も含まれていない場合 public final java.lang.Object unmarshal(javax.xml.transform.Source source)
throws java.io.IOException,
XmlMappingExceptionjavax.xml.transform.Source をオブジェクトグラフに非整列化します。 この実装は、指定された結果をインスペクションし、unmarshalDomSource、unmarshalSaxSource、unmarshalStreamSource を呼び出します。
Unmarshaller 内の unmarshal source - マーシャリングのソース java.io.IOException - I/O 例外が発生した場合 XmlMappingException - 指定されたソースをオブジェクトにマップできない場合 java.lang.IllegalArgumentException - source が DOMSource、SAXSource、StreamSource でない場合 unmarshalDomSource(javax.xml.transform.dom.DOMSource), unmarshalSaxSource(javax.xml.transform.sax.SAXSource), unmarshalStreamSource(javax.xml.transform.stream.StreamSource)protected java.lang.Object unmarshalDomSource(javax.xml.transform.dom.DOMSource domSource)
throws XmlMappingExceptionDOMSource を処理するためのテンプレートメソッド。 この実装は unmarshalDomNode に委譲します。指定されたソースが空の場合、空のソース Document がプレースホルダーとして作成されます。
domSource - DOMSourceXmlMappingException - 指定されたソースをオブジェクトにマップできない場合 java.lang.IllegalArgumentException - domSource が空の場合 unmarshalDomNode(org.w3c.dom.Node)protected java.lang.Object unmarshalStaxSource(javax.xml.transform.Source staxSource)
throws XmlMappingExceptionStaxSource を処理するためのテンプレートメソッド。 この実装は unmarshalXmlStreamReader または unmarshalXmlEventReader に委譲します。
staxSource - StaxSourceXmlMappingException - 指定されたソースをオブジェクトにマップできない場合 protected java.lang.Object unmarshalSaxSource(javax.xml.transform.sax.SAXSource saxSource)
throws XmlMappingException,
java.io.IOExceptionSAXSource を処理するためのテンプレートメソッド。 この実装は unmarshalSaxReader に委譲します。
saxSource - SAXSourceXmlMappingException - 指定されたソースをオブジェクトにマップできない場合 java.io.IOException - I/O 例外が発生した場合 unmarshalSaxReader(org.xml.sax.XMLReader, org.xml.sax.InputSource)protected java.lang.Object unmarshalStreamSource(javax.xml.transform.stream.StreamSource streamSource)
throws XmlMappingException,
java.io.IOExceptionStreamSource を処理するためのテンプレートメソッド。 この実装は unmarshalInputStream または unmarshalReader に委譲します。
streamSource - StreamSourcejava.io.IOException - I/O 例外が発生した場合 XmlMappingException - 指定されたソースをオブジェクトにマップできない場合 protected abstract void marshalDomNode(java.lang.Object graph,
org.w3c.dom.Node node)
throws XmlMappingExceptionNode にマーシャリングする抽象テンプレートメソッド。 実際には、ノードは Document ノード、DocumentFragment ノード、Element ノードです。つまり、子を受け入れるノードです。
graph - マーシャリングするオブジェクトグラフのルート node - 結果ツリーを含む DOM ノード XmlMappingException - 指定されたオブジェクトを DOM ノードに整列化できない場合 Document、DocumentFragment、Elementprotected abstract void marshalXmlEventWriter(java.lang.Object graph,
javax.xml.stream.XMLEventWriter eventWriter)
throws XmlMappingExceptionXMLEventWriter にマーシャリングする抽象テンプレートメソッド。graph - マーシャリングするオブジェクトグラフのルート eventWriter - 書き込む XMLEventWriter XmlMappingException - 指定されたオブジェクトを DOM ノードに整列化できない場合 protected abstract void marshalXmlStreamWriter(java.lang.Object graph,
javax.xml.stream.XMLStreamWriter streamWriter)
throws XmlMappingExceptionXMLStreamWriter にマーシャリングする抽象テンプレートメソッド。graph - マーシャリングするオブジェクトグラフのルート streamWriter - 書き込む XMLStreamWriter XmlMappingException - 指定されたオブジェクトを DOM ノードに整列化できない場合 protected abstract void marshalSaxHandlers(java.lang.Object graph,
org.xml.sax.ContentHandler contentHandler,
@Nullable
org.xml.sax.ext.LexicalHandler lexicalHandler)
throws XmlMappingExceptionContentHandler にマーシャリングする抽象テンプレートメソッド。graph - マーシャリングするオブジェクトグラフのルート contentHandler - SAX ContentHandlerlexicalHandler - SAX2 LexicalHandler null にすることができます。XmlMappingException - 指定されたオブジェクトをハンドラーにマーシャリングできない場合 protected abstract void marshalOutputStream(java.lang.Object graph,
java.io.OutputStream outputStream)
throws XmlMappingException,
java.io.IOExceptionOutputStream にマーシャリングする抽象テンプレートメソッド。graph - マーシャリングするオブジェクトグラフのルート outputStream - 書き込む OutputStream XmlMappingException - 指定されたオブジェクトをライターにマーシャリングできない場合 java.io.IOException - I/O 例外が発生した場合 protected abstract void marshalWriter(java.lang.Object graph,
java.io.Writer writer)
throws XmlMappingException,
java.io.IOExceptionWriter にマーシャリングする抽象テンプレートメソッド。graph - マーシャリングするオブジェクトグラフのルート writer - 書き込む Writer XmlMappingException - 指定されたオブジェクトをライターにマーシャリングできない場合 java.io.IOException - I/O 例外が発生した場合 protected abstract java.lang.Object unmarshalDomNode(org.w3c.dom.Node node)
throws XmlMappingExceptionNode から非整列化するための抽象テンプレートメソッド。node - 非整列化するオブジェクトを含む DOM ノード XmlMappingException - 指定された DOM ノードをオブジェクトにマップできない場合 protected abstract java.lang.Object unmarshalXmlEventReader(javax.xml.stream.XMLEventReader eventReader)
throws XmlMappingExceptionXMLEventReader から非整列化するための抽象テンプレートメソッド。eventReader - 読み込む XMLEventReader XmlMappingException - 指定されたイベントリーダーをオブジェクトに変換できない場合 protected abstract java.lang.Object unmarshalXmlStreamReader(javax.xml.stream.XMLStreamReader streamReader)
throws XmlMappingExceptionXMLStreamReader から非整列化するための抽象テンプレートメソッド。streamReader - 読み込む XMLStreamReader XmlMappingException - 指定されたストリームリーダーをオブジェクトに変換できない場合 protected abstract java.lang.Object unmarshalSaxReader(org.xml.sax.XMLReader xmlReader,
org.xml.sax.InputSource inputSource)
throws XmlMappingException,
java.io.IOExceptionXMLReader および InputSource を使用して非整列化するための抽象テンプレートメソッド。xmlReader - 解析する SAX XMLReader inputSource - 解析する入力ソース XmlMappingException - 指定されたリーダーと入力ソースをオブジェクトに変換できない場合 java.io.IOException - I/O 例外が発生した場合 protected abstract java.lang.Object unmarshalInputStream(java.io.InputStream inputStream)
throws XmlMappingException,
java.io.IOExceptionInputStream から非整列化するための抽象テンプレートメソッド。inputStream - 読み込む InputStreamStream XmlMappingException - 指定されたストリームをオブジェクトに変換できない場合 java.io.IOException - I/O 例外が発生した場合 protected abstract java.lang.Object unmarshalReader(java.io.Reader reader)
throws XmlMappingException,
java.io.IOExceptionReader から非整列化するための抽象テンプレートメソッド。reader - 読み込む Reader XmlMappingException - 指定されたリーダーをオブジェクトに変換できない場合 java.io.IOException - I/O 例外が発生した場合