public interface Marshaller
Marshaller
クラスは、Java コンテンツツリーを直列化して XML データに戻すプロセスを管理します。基本的なマーシャリング方法を提供します。
以下のすべてのコードフラグメントについて、次のセットアップコードを想定します。
JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" ); Unmarshaller u = jc.createUnmarshaller(); Object element = u.unmarshal( new File( "foo.xml" ) ); Marshaller m = jc.createMarshaller();
ファイルへのマーシャリング:
OutputStream os = new FileOutputStream( "nosferatu.xml" ); m.marshal( element, os );
SAX ContentHandler へのマーシャリング:
// assume MyContentHandler instanceof ContentHandler m.marshal( element, new MyContentHandler() );
DOM ノードへのマーシャリング:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.newDocument(); m.marshal( element, doc );
java.io.OutputStream へのマーシャリング:
m.marshal( element, System.out );
java.io.Writer へのマーシャリング:
m.marshal( element, new PrintWriter( System.out ) );
javax.xml.transform.SAXResult へのマーシャリング:
// assume MyContentHandler instanceof ContentHandler SAXResult result = new SAXResult( new MyContentHandler() ); m.marshal( element, result );
javax.xml.transform.DOMResult へのマーシャリング:
DOMResult result = new DOMResult(); m.marshal( element, result );
javax.xml.transform.StreamResult へのマーシャリング:
StreamResult result = new StreamResult( System.out ); m.marshal( element, result );
javax.xml.stream.XMLStreamWriter へのマーシャリング:
XMLStreamWriter xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter( ... ); m.marshal( element, xmlStreamWriter );
javax.xml.stream.XMLEventWriter へのマーシャリング:
XMLEventWriter xmlEventWriter = XMLOutputFactory.newInstance().createXMLEventWriter( ... ); m.marshal( element, xmlEventWriter );
Jakarta XML Binding 要素をルートとするコンテンツツリーのマーシャリング
オーバーロードされたMarshaller.marshal(java.lang.Object,...)
メソッドの最初のパラメーターは、JAXBIntrospector.isElement(java.lang.Object)
によって計算される Jakarta XML Binding 要素である必要があります。それ以外の場合、Marshaller.marshal
メソッドはMarshalException
をスローする必要があります。Jakarta XML Binding 要素ではないインスタンスのマーシャリングを有効にするメカニズムは 2 つあります。1 つの方法は、インスタンスをJAXBElement
の値としてラップし、ラッパー要素を最初のパラメーターとしてMarshaller.marshal
メソッドに渡すことです。java からスキーマへのバインディングの場合、インスタンスのクラスに @ でアノテーションを付けることもできます。XmlRootElement
。
エンコード
デフォルトでは、マーシャラーはjava.io.OutputStream
またはjava.io.Writer
に XML データを生成するときに UTF-8 エンコーディングを使用します。setProperty
API を使用して、これらのマーシャル操作中に使用される出力エンコーディングを変更します。クライアントアプリケーションは、W3C XML 1.0 推奨事項で定義され、Java プラットフォームでサポートされている有効な文字エンコード名を提供することが期待されています。
検証と整形式
クライアントアプリケーションは、マーシャル API を呼び出す前に Java コンテンツツリーを検証する必要はありません。さらに、Java コンテンツツリーを元のスキーマにマーシャリングして XML データに戻すために、Java コンテンツツリーが元のスキーマに対して有効である必要はありません。さまざまな Jakarta XML Binding Providers が、さまざまなレベルでの無効な Java コンテンツツリーのマーシャリングをサポートしますが、すべての Jakarta XML Binding Providers は、有効なコンテンツツリーを XML データにマーシャリングできる必要があります。Jakarta XML Binding Provider は、無効なコンテンツが原因でマーシャル操作を完了できない場合、
MarshalException
をスローする必要があります。一部の Jakarta XML Binding Providers は、無効なコンテンツのマーシャリングを完全に許可しますが、他の Jakarta XML Binding Providers は、最初の検証エラーで失敗します。マーシャル操作でスキーマ検証が明示的に有効になっていない場合でも、操作中に特定の型の検証イベントが検出される可能性があります。検証イベントは、登録されたイベントハンドラーに報告されます。クライアントアプリケーションがマーシャル API の 1 つを呼び出す前にイベントハンドラーを登録していない場合、イベントはデフォルトのイベントハンドラーに配信され、最初のエラーまたは致命的なエラーが発生した後にマーシャル操作が終了します。Jakarta XML Binding 以降のバージョンでは、
DefaultValidationEventHandler
は使用されなくなったことに注意してください。
すべての Jakarta XML Binding Providers は、次の一連のプロパティをサポートする必要があります。一部のプロバイダーは、追加のプロパティをサポートする場合があります。
jaxb.encoding
- 値は java.lang.String である必要があります- XML データをマーシャリングするときに使用する出力エンコーディング。このプロパティが指定されていない場合、マーシャラーはデフォルトで "UTF-8" を使用します。
jaxb.formatted.output
- 値は java.lang.Boolean である必要があります- このプロパティは、マーシャラーが結果の XML データを改行とインデントでフォーマットするかどうかを制御します。このプロパティの真の値は、人間が読み取れるインデントされた xml データを示し、偽の値は、フォーマットされていない xml データを示します。このプロパティが指定されていない場合、マーシャラーはデフォルトで false(フォーマットされていない)になります。
jaxb.schemaLocation
- 値は java.lang.String である必要があります- このプロパティにより、クライアントアプリケーションは生成された XML データに xsi:schemaLocation 属性を指定できます。schemaLocation 属性値の形式は、わかりやすい非規範形式で W3C XML スキーマのセクション 5.6 パート 0: 入門書で説明されており、W3C XML スキーマのセクション 2.6 パート 1: 構造で指定されています。
jaxb.noNamespaceSchemaLocation
- 値は java.lang.String である必要があります- このプロパティにより、クライアントアプリケーションは生成された XML データに xsi:noNamespaceSchemaLocation 属性を指定できます。schemaLocation 属性値の形式は、わかりやすい非規範形式で W3C XML スキーマのセクション 5.6 パート 0: 入門書で説明されており、W3C XML スキーマのセクション 2.6 パート 1: 構造で指定されています。
jaxb.fragment
- 値は java.lang.Boolean である必要があります- このプロパティは、ドキュメントレベルのイベントがマーシャラーによって生成されるかどうかを決定します。プロパティが指定されていない場合、デフォルトは
false
です。このプロパティは、使用しているマーシャル API に応じて異なる意味を持ちます。このプロパティが true に設定されている場合:
marshal(Object,ContentHandler)
- マーシャラーはContentHandler.startDocument()
SE とContentHandler.endDocument()
SE を呼び出しません。marshal(Object,Node)
- プロパティはこの API に影響を与えません。marshal(Object,OutputStream)
- マーシャラーは xml 宣言を生成しません。marshal(Object,Writer)
- マーシャラーは xml 宣言を生成しません。marshal(Object,Result)
- Result オブジェクトの種類によって異なります。ノード、ContentHandler、ストリーム API のセマンティクスを参照してください。marshal(Object,XMLEventWriter)
- マーシャラーはXMLStreamConstants.START_DOCUMENT
SE およびXMLStreamConstants.END_DOCUMENT
SE イベントを生成しません。marshal(Object,XMLStreamWriter)
- マーシャラーはXMLStreamConstants.START_DOCUMENT
SE およびXMLStreamConstants.END_DOCUMENT
SE イベントを生成しません。
「Marshaller
は、アンマーシャリングプロセスの重要なポイントでアプリケーション固有の処理を可能にする 2 つのスタイルのコールバックメカニズムを提供します。「クラス定義」イベントコールバックでは、Jakarta XML Binding マップクラスに配置されたアプリケーション固有のコードがマーシャリング中にトリガーされます。「外部リスナー」により、集中化が可能になります。型イベントコールバックではなく、1 つのコールバックメソッドでマーシャリングイベントを処理します。クラス定義のイベントコールバックメソッドを使用すると、Jakarta XML Binding にマップされたクラスは、次のメソッドシグネチャーでメソッドを定義することにより、独自の特定のコールバックメソッドを指定できます。
クラス定義のイベントコールバックメソッドは、コールバックメソッドが非公開メソッドやクラスのフィールドへのアクセスを必要とする場合に使用する必要があります。// Invoked by Marshaller after it has created an instance of this object. boolean beforeMarshal(Marshaller); // Invoked by Marshaller after it has marshalled all properties of this object. void afterMarshal(Marshaller);外部リスナーコールバックメカニズムにより、
Marshaller.Listener
インスタンスをsetListener(Listener)
に登録できます。外部リスナーはすべてのコールバックイベントを受信するため、クラス定義のコールバックメソッドよりも集中処理が可能になります。「クラス定義」と外部リスナーイベントのコールバックメソッドは互いに独立しており、どちらも 1 つのイベントに対して呼び出すことができます。両方のリスナーコールバックメソッドが存在する場合の呼び出し順序は、
Marshaller.Listener.beforeMarshal(Object)
とMarshaller.Listener.afterMarshal(Object)
で定義されています。例外をスローするイベントコールバックメソッドは、現在のマーシャルプロセスを終了します。
JAXBContext
, Validator
, Unmarshaller
修飾子と型 | インターフェースと説明 |
---|---|
static class | Marshaller.Listener このクラスの実装のインスタンスを Marshaller に登録して、マーシャルイベントを外部でリッスンします。 |
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | JAXB_ENCODING マーシャリングされた XML データの出力エンコーディングを指定するために使用されるプロパティの名前。 |
static StringSE | JAXB_FORMATTED_OUTPUT マーシャリングされた XML データが改行とインデントでフォーマットされているかどうかを指定するために使用されるプロパティの名前。 |
static StringSE | JAXB_FRAGMENT マーシャラーがドキュメントレベルのイベント (つまり、startDocument または endDocument の呼び出し) を生成するかどうかを指定するために使用されるプロパティの名前。 |
static StringSE | JAXB_NO_NAMESPACE_SCHEMA_LOCATION マーシャリングされた XML 出力に配置する xsi:noNamespaceSchemaLocation 属性値を指定するために使用されるプロパティの名前。 |
static StringSE | JAXB_SCHEMA_LOCATION マーシャリングされた XML 出力に配置する xsi:schemaLocation 属性値を指定するために使用されるプロパティの名前。 |
修飾子と型 | メソッドと説明 |
---|---|
<A extends XmlAdapter> | getAdapter(ClassSE<A> type) 指定された型に関連付けられたアダプターを取得します。 |
AttachmentMarshaller | getAttachmentMarshaller() |
ValidationEventHandler | getEventHandler() 現在のイベントハンドラー、または設定されていない場合はデフォルトのイベントハンドラーを返します。 |
Marshaller.Listener | getListener() この Marshaller に登録されている Marshaller.Listener を返します。 |
NodeSE | getNode(ObjectSE contentTree) コンテンツツリーの DOM ツリービューを取得します(オプション)。 |
ObjectSE | getProperty(StringSE name) Marshaller の基礎となる実装で特定のプロパティを取得します。 |
SchemaSE | getSchema() マーシャル時間検証の実行に使用されている JAXP 1.3 Schema SE オブジェクトを取得します。 |
void | marshal(ObjectSE jaxbElement, ContentHandlerSE handler) jaxbElement をルートとするコンテンツツリーを SAX2 イベントにマーシャリングします。 |
void | marshal(ObjectSE jaxbElement, FileSE output) jaxbElement をルートとするコンテンツツリーをファイルにマーシャリングします。 |
void | marshal(ObjectSE jaxbElement, NodeSE node) jaxbElement をルートとするコンテンツツリーを DOM ツリーにマーシャリングします。 |
void | marshal(ObjectSE jaxbElement, OutputStreamSE os) jaxbElement をルートとするコンテンツツリーを出力ストリームにマーシャリングします。 |
void | marshal(ObjectSE jaxbElement, ResultSE result) jaxbElement をルートとするコンテンツツリーを指定された javax.xml.transform.Result にマーシャリングします。 |
void | marshal(ObjectSE jaxbElement, WriterSE writer) jaxbElement をルートとするコンテンツツリーをライターにマーシャリングします。 |
void | marshal(ObjectSE jaxbElement, XMLEventWriterSE writer) jaxbElement をルートとするコンテンツツリーを XMLEventWriter SE にマーシャリングします。 |
void | marshal(ObjectSE jaxbElement, XMLStreamWriterSE writer) jaxbElement をルートとするコンテンツツリーを XMLStreamWriter SE にマーシャリングします。 |
<A extends XmlAdapter> | setAdapter(ClassSE<A> type, A adapter) XmlAdapter の構成済みインスタンスをこのマーシャラーに関連付けます。 |
void | setAdapter(XmlAdapter adapter) XmlAdapter の構成済みインスタンスをこのマーシャラーに関連付けます。 |
void | setAttachmentMarshaller(AttachmentMarshaller am) XML ドキュメント内のバイナリデータを XML バイナリに最適化された添付ファイルとして送信できるようにするコンテキストを関連付けます。 |
void | setEventHandler(ValidationEventHandler handler) アプリケーションが検証イベントハンドラーを登録できるようにします。 |
void | setListener(Marshaller.Listener listener) マーシャルイベントコールバック Marshaller.Listener をこの Marshaller に登録します。 |
void | setProperty(StringSE name, ObjectSE value) Marshaller の基礎となる実装で特定のプロパティを設定します。 |
void | setSchema(SchemaSE schema) 後続のマーシャル操作を検証するために使用する必要がある JAXP 1.3 Schema SE オブジェクトを指定します。 |
static final StringSE JAXB_ENCODING
static final StringSE JAXB_FORMATTED_OUTPUT
static final StringSE JAXB_SCHEMA_LOCATION
static final StringSE JAXB_NO_NAMESPACE_SCHEMA_LOCATION
void marshal(ObjectSE jaxbElement, ResultSE result) throws JAXBException
jaxbElement
をルートとするコンテンツツリーを指定された javax.xml.transform.Result
にマーシャリングします。 すべての Jakarta XML Binding Providers は、少なくとも DOMResult
SE、SAXResult
SE、StreamResult
SE をサポートする必要があります。Result
の他の派生クラスもサポートできます。
jaxbElement
- マーシャリングされるコンテンツツリーのルート。result
- XML がこの結果に送信されます JAXBException
- マーシャリング中に予期しない問題が発生した場合。MarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Marshaller
が jaxbElement
(または jaxbElement
から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。IllegalArgumentExceptionSE
- メソッドパラメーターのいずれかが null の場合 void marshal(ObjectSE jaxbElement, OutputStreamSE os) throws JAXBException
jaxbElement
をルートとするコンテンツツリーを出力ストリームにマーシャリングします。jaxbElement
- マーシャリングされるコンテンツツリーのルート。os
- XML がこのストリームに追加されます。JAXBException
- マーシャリング中に予期しない問題が発生した場合。MarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Marshaller
が jaxbElement
(または jaxbElement
から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。IllegalArgumentExceptionSE
- メソッドパラメーターのいずれかが null の場合 void marshal(ObjectSE jaxbElement, FileSE output) throws JAXBException
jaxbElement
をルートとするコンテンツツリーをファイルにマーシャリングします。jaxbElement
- マーシャリングされるコンテンツツリーのルート。output
- 書き込むファイル。このファイルがすでに存在する場合は、上書きされます。JAXBException
- マーシャリング中に予期しない問題が発生した場合。MarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Marshaller
が jaxbElement
(または jaxbElement
から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。IllegalArgumentExceptionSE
- メソッドパラメーターのいずれかが null の場合 void marshal(ObjectSE jaxbElement, WriterSE writer) throws JAXBException
jaxbElement
をルートとするコンテンツツリーをライターにマーシャリングします。jaxbElement
- マーシャリングされるコンテンツツリーのルート。writer
- XML がこのライターに送信されます。JAXBException
- マーシャリング中に予期しない問題が発生した場合。MarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Marshaller
が jaxbElement
(または jaxbElement
から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。IllegalArgumentExceptionSE
- メソッドパラメーターのいずれかが null の場合 void marshal(ObjectSE jaxbElement, ContentHandlerSE handler) throws JAXBException
jaxbElement
をルートとするコンテンツツリーを SAX2 イベントにマーシャリングします。jaxbElement
- マーシャリングされるコンテンツツリーのルート。handler
- XML は SAX2 イベントとしてこのハンドラーに送信されます。JAXBException
- マーシャリング中に予期しない問題が発生した場合。MarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Marshaller
が jaxbElement
(または jaxbElement
から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。IllegalArgumentExceptionSE
- メソッドパラメーターのいずれかが null の場合 void marshal(ObjectSE jaxbElement, NodeSE node) throws JAXBException
jaxbElement
をルートとするコンテンツツリーを DOM ツリーにマーシャリングします。jaxbElement
- マーシャリングされるコンテンツツリー。node
- DOM ノードはこのノードの子として追加されます。このパラメーターは、子を受け入れるノードである必要があります ( Document
SE、DocumentFragment
SE、Element
SE )JAXBException
- マーシャリング中に予期しない問題が発生した場合。MarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Marshaller
が jaxbElement
(または jaxbElement
から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。IllegalArgumentExceptionSE
- メソッドパラメーターのいずれかが null の場合 void marshal(ObjectSE jaxbElement, XMLStreamWriterSE writer) throws JAXBException
jaxbElement
をルートとするコンテンツツリーを XMLStreamWriter
SE にマーシャリングします。jaxbElement
- マーシャリングされるコンテンツツリー。writer
- XML がこのライターに送信されます。JAXBException
- マーシャリング中に予期しない問題が発生した場合。MarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Marshaller
が jaxbElement
(または jaxbElement
から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。IllegalArgumentExceptionSE
- メソッドパラメーターのいずれかが null の場合 void marshal(ObjectSE jaxbElement, XMLEventWriterSE writer) throws JAXBException
jaxbElement
をルートとするコンテンツツリーを XMLEventWriter
SE にマーシャリングします。jaxbElement
- マーシャリングされる jaxbElement をルートとするコンテンツツリー。writer
- XML がこのライターに送信されます。JAXBException
- マーシャリング中に予期しない問題が発生した場合。MarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Marshaller
が jaxbElement
(または jaxbElement
から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。IllegalArgumentExceptionSE
- メソッドパラメーターのいずれかが null の場合 NodeSE getNode(ObjectSE contentTree) throws JAXBException
marshal(Object, org.w3c.dom.Node)
を使用して、コンテンツツリーのディープコピーを DOM 表現に強制します。contentTree
- -XML コンテンツの Jakarta XML Binding Java 表現 UnsupportedOperationExceptionSE
- Jakarta XML Binding プロバイダーの実装がコンテンツツリーの DOM ビューをサポートしていない場合 IllegalArgumentExceptionSE
- メソッドパラメーターのいずれかが null の場合 JAXBException
- 予期しない問題が発生した場合 void setProperty(StringSE name, ObjectSE value) throws PropertyException
Marshaller
の基礎となる実装で特定のプロパティを設定します。このメソッドは、上記の標準 Jakarta XML Binding 定義プロパティの 1 つ、またはプロバイダー固有のプロパティを設定するためにのみ使用できます。未定義のプロパティを設定しようとすると、PropertyException がスローされます。サポートされているプロパティを参照してください。name
- 設定するプロパティの名前。この値は、定数フィールドの 1 つまたはユーザー指定の文字列を使用して指定できます。value
- 設定するプロパティの値 PropertyException
- 指定されたプロパティまたは値の処理中にエラーが発生した場合 IllegalArgumentExceptionSE
- name パラメーターが null の場合 ObjectSE getProperty(StringSE name) throws PropertyException
Marshaller
の基礎となる実装で特定のプロパティを取得します。このメソッドは、上記の標準 Jakarta XML Binding 定義プロパティの 1 つ、またはプロバイダー固有のプロパティを取得するためにのみ使用できます。未定義のプロパティを取得しようとすると、PropertyException がスローされます。サポートされているプロパティを参照してください。name
- 取得するプロパティの名前 PropertyException
- 指定されたプロパティまたは値のプロパティ名の取得中にエラーが発生した場合 IllegalArgumentExceptionSE
- name パラメーターが null の場合 void setEventHandler(ValidationEventHandler handler) throws JAXBException
マーシャル API の呼び出し中に検証エラーが発生した場合、検証イベントハンドラーは Jakarta XML Binding Provider によって呼び出されます。クライアントアプリケーションがマーシャルメソッドの 1 つを呼び出す前に検証イベントハンドラーを登録しない場合、検証イベントはデフォルトのイベントハンドラーによって処理され、最初のエラーまたは致命的なエラーが発生した後にマーシャル操作が終了します。
null パラメーターを指定してこのメソッドを呼び出すと、Marshaller はデフォルトのデフォルトのイベントハンドラーに戻ります。
handler
- 検証イベントハンドラー JAXBException
- イベントハンドラーの設定中にエラーが発生した場合 ValidationEventHandler getEventHandler() throws JAXBException
JAXBException
- 現在のイベントハンドラーの取得中にエラーが発生した場合 void setAdapter(XmlAdapter adapter)
XmlAdapter
の構成済みインスタンスをこのマーシャラーに関連付けます。 これは、setAdapter(adapter.getClass(),adapter);
を呼び出す便利なメソッドです。
IllegalArgumentExceptionSE
- アダプターパラメーターが null の場合。UnsupportedOperationExceptionSE
- JAXB 1.0 実装に対して再度呼び出された場合。setAdapter(Class,XmlAdapter)
<A extends XmlAdapter> void setAdapter(ClassSE<A> type, A adapter)
XmlAdapter
の構成済みインスタンスをこのマーシャラーに関連付けます。 すべてのマーシャラーは、Map
SE <Class
SE、XmlAdapter
> を内部的に維持します。これは、フィールド / メソッドに XmlJavaTypeAdapter
アノテーションが付けられたマーシャリングクラスに使用されます。
この方法により、アプリケーションは XmlAdapter
の構成済みインスタンスを使用できます。アダプターのインスタンスが指定されていない場合、マーシャラーはデフォルトのコンストラクターを呼び出してアダプターを作成します。
type
- アダプターの型。指定されたインスタンスは、XmlJavaTypeAdapter.value()
がこの型を参照するときに使用されます。adapter
- 使用するアダプターのインスタンス。null の場合、この型に設定されている現在のアダプターの登録が解除されます。IllegalArgumentExceptionSE
- type パラメーターが null の場合。UnsupportedOperationExceptionSE
- JAXB 1.0 実装に対して再度呼び出された場合。<A extends XmlAdapter> A getAdapter(ClassSE<A> type)
setAdapter(jakarta.xml.bind.annotation.adapters.XmlAdapter)
メソッドの逆の操作です。IllegalArgumentExceptionSE
- type パラメーターが null の場合。UnsupportedOperationExceptionSE
- JAXB 1.0 実装に対して再度呼び出された場合。void setAttachmentMarshaller(AttachmentMarshaller am)
XML ドキュメント内のバイナリデータを XML バイナリに最適化された添付ファイルとして送信できるようにするコンテキストを関連付けます。添付ファイルは、xml ドキュメント内に格納されている content-id URI(cid)参照によって XML ドキュメントコンテンツモデルから参照されます。
IllegalStateExceptionSE
- マーシャル操作中にこのメソッドを同時に呼び出そうとした場合。AttachmentMarshaller getAttachmentMarshaller()
void setSchema(SchemaSE schema)
Schema
SE オブジェクトを指定します。このメソッドに null を渡すと、検証が無効になります。このメソッドを使用すると、呼び出し元は、マーシャリングされた XML をマーシャリング時に検証できます。
最初、このプロパティは null
に設定されています。
schema
- マーシャル操作を検証するスキーマオブジェクト、または検証を無効にする nullUnsupportedOperationExceptionSE
- このメソッドが、JAXB 1.0 マップクラスを参照する JAXBContext から作成されたマーシャラーで呼び出された場合にスローされる可能性があります SchemaSE getSchema()
Schema
SE オブジェクトを取得します。マーシャラーにスキーマが設定されていない場合、このメソッドは null を返し、マーシャル時間の検証が実行されないことを示します。UnsupportedOperationExceptionSE
- このメソッドが、JAXB 1.0 マップクラスを参照する JAXBContext から作成されたマーシャラーで呼び出された場合にスローされる可能性があります void setListener(Marshaller.Listener listener)
マーシャルイベントコールバック Marshaller.Listener
をこの Marshaller
に登録します。
マーシャラーごとにリスナーは 1 人だけです。リスナーを設定すると、以前に設定したリスナーが置き換えられます。リスナーを null
に設定することにより、現在のリスナーの登録を解除できます。
listener
- Marshaller.Listener
を実装するクラスのインスタンス Marshaller.Listener getListener()
この Marshaller
に登録されている Marshaller.Listener
を返します。
Marshaller.Listener
または null
を登録しました。Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.