インターフェース Marshaller
- すべての既知の実装クラス:
AbstractMarshallerImpl
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()
とContentHandler.endDocument()
を呼び出しません。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)
で定義されています。例外をスローするイベントコールバックメソッドは、現在のマーシャルプロセスを終了します。
- 導入:
- 1.6、JAXB 1.0
- 作成者:
- Kohsuke Kawaguchi, Sun Microsystems, Inc.
- Ryan Shoemaker, Sun Microsystems, Inc.
- Joe Fialli, Sun Microsystems, Inc.
- 関連事項:
JAXBContext
,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<?,?>>
AgetAdapter(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()
整列化時の検証を実行するために使用されている JAXPSchema
SE オブジェクトを取得します。void
marshal(ObjectSE jaxbElement, FileSE output)
jaxbElement
をルートとするコンテンツツリーをファイルにマーシャリングします。void
marshal(ObjectSE jaxbElement, OutputStreamSE os)
jaxbElement
をルートとするコンテンツツリーを出力ストリームにマーシャリングします。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 にマーシャリングします。void
marshal(ObjectSE jaxbElement, ResultSE result)
jaxbElement
をルートとするコンテンツツリーを指定されたjavax.xml.transform.Result
にマーシャリングします。void
marshal(ObjectSE jaxbElement, NodeSE node)
jaxbElement
をルートとするコンテンツツリーを DOM ツリーにマーシャリングします。void
marshal(ObjectSE jaxbElement, ContentHandlerSE handler)
jaxbElement
をルートとするコンテンツツリーを SAX2 イベントにマーシャリングします。<A extends XmlAdapter<?,?>>
voidsetAdapter(A adapter)
XmlAdapter
の構成済みインスタンスをこのマーシャラーに関連付けます。<A extends XmlAdapter<?,?>>
voidsetAdapter(ClassSE<A> type, A 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)
後続の整列化操作を検証するために使用する必要がある JAXPSchema
SE オブジェクトを指定します。
フィールドの詳細
JAXB_ENCODING
static final StringSE JAXB_ENCODING
マーシャリングされた XML データの出力エンコーディングを指定するために使用されるプロパティの名前。- 関連事項:
- 定数フィールド値
JAXB_FORMATTED_OUTPUT
static final StringSE JAXB_FORMATTED_OUTPUT
マーシャリングされた XML データが改行とインデントでフォーマットされているかどうかを指定するために使用されるプロパティの名前。- 関連事項:
- 定数フィールド値
JAXB_SCHEMA_LOCATION
static final StringSE JAXB_SCHEMA_LOCATION
マーシャリングされた XML 出力に配置する xsi:schemaLocation 属性値を指定するために使用されるプロパティの名前。- 関連事項:
- 定数フィールド値
JAXB_NO_NAMESPACE_SCHEMA_LOCATION
static final StringSE JAXB_NO_NAMESPACE_SCHEMA_LOCATION
マーシャリングされた XML 出力に配置する xsi:noNamespaceSchemaLocation 属性値を指定するために使用されるプロパティの名前。- 関連事項:
- 定数フィールド値
メソッドの詳細
marshal
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 の場合
marshal
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 の場合
marshal
void marshal(ObjectSE jaxbElement, FileSE output) throws JAXBException
jaxbElement
をルートとするコンテンツツリーをファイルにマーシャリングします。- パラメーター:
jaxbElement
- マーシャリングされるコンテンツツリーのルート。output
- 書き込むファイル。このファイルがすでに存在する場合は、上書きされます。- 例外:
JAXBException
- マーシャリング中に予期しない問題が発生した場合。MarshalException
-ValidationEventHandler
がhandleEvent
メソッドから false を返す場合、またはMarshaller
がjaxbElement
(またはjaxbElement
から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。IllegalArgumentExceptionSE
- メソッドパラメーターのいずれかが null の場合- 導入:
- 1.6、JAXB 2.1
marshal
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 の場合
marshal
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 の場合
marshal
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 の場合
marshal
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 の場合- 導入:
- 1.6、JAXB 2.0
marshal
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 の場合- 導入:
- 1.6、JAXB 2.0
getNode
NodeSE getNode(ObjectSE contentTree) throws JAXBException
コンテンツツリーの DOM ツリービューを取得します(オプション)。返された DOM ツリーが更新されると、これらの変更はコンテンツツリーにも表示されます。marshal(Object, org.w3c.dom.Node)
を使用して、コンテンツツリーのディープコピーを DOM 表現に強制します。- パラメーター:
contentTree
- -XML コンテンツの Jakarta XML Binding Java 表現- 戻り値:
- contentTree の DOM ツリービュー
- 例外:
UnsupportedOperationExceptionSE
- Jakarta XML Binding プロバイダーの実装がコンテンツツリーの DOM ビューをサポートしていない場合IllegalArgumentExceptionSE
- メソッドパラメーターのいずれかが null の場合JAXBException
- 予期しない問題が発生した場合
setProperty
void setProperty(StringSE name, ObjectSE value) throws PropertyException
Marshaller
の基礎となる実装で特定のプロパティを設定します。このメソッドは、上記の標準 Jakarta XML Binding 定義プロパティの 1 つ、またはプロバイダー固有のプロパティを設定するためにのみ使用できます。未定義のプロパティを設定しようとすると、PropertyException がスローされます。サポートされているプロパティを参照してください。- パラメーター:
name
- 設定するプロパティの名前。この値は、定数フィールドの 1 つまたはユーザー指定の文字列を使用して指定できます。value
- 設定するプロパティの値- 例外:
PropertyException
- 指定されたプロパティまたは値の処理中にエラーが発生した場合IllegalArgumentExceptionSE
- name パラメーターが null の場合
getProperty
ObjectSE getProperty(StringSE name) throws PropertyException
Marshaller
の基礎となる実装で特定のプロパティを取得します。このメソッドは、上記の標準 Jakarta XML Binding 定義プロパティの 1 つ、またはプロバイダー固有のプロパティを取得するためにのみ使用できます。未定義のプロパティを取得しようとすると、PropertyException がスローされます。サポートされているプロパティを参照してください。- パラメーター:
name
- 取得するプロパティの名前- 戻り値:
- リクエストされたプロパティの値
- 例外:
PropertyException
- 指定されたプロパティまたは値のプロパティ名の取得中にエラーが発生した場合IllegalArgumentExceptionSE
- name パラメーターが null の場合
setEventHandler
void setEventHandler(ValidationEventHandler handler) throws JAXBException
アプリケーションが検証イベントハンドラーを登録できるようにします。マーシャル API の呼び出し中に検証エラーが発生した場合、検証イベントハンドラーは Jakarta XML Binding Provider によって呼び出されます。クライアントアプリケーションがマーシャルメソッドの 1 つを呼び出す前に検証イベントハンドラーを登録しない場合、検証イベントはデフォルトのイベントハンドラーによって処理され、最初のエラーまたは致命的なエラーが発生した後にマーシャル操作が終了します。
null パラメーターを指定してこのメソッドを呼び出すと、Marshaller はデフォルトのデフォルトのイベントハンドラーに戻ります。
- パラメーター:
handler
- 検証イベントハンドラー- 例外:
JAXBException
- イベントハンドラーの設定中にエラーが発生した場合
getEventHandler
ValidationEventHandler getEventHandler() throws JAXBException
現在のイベントハンドラー、または設定されていない場合はデフォルトのイベントハンドラーを返します。- 戻り値:
- 現在の ValidationEventHandler、または設定されていない場合はデフォルトのイベントハンドラー
- 例外:
JAXBException
- 現在のイベントハンドラーの取得中にエラーが発生した場合
setAdapter
<A extends XmlAdapter<?,?>> void setAdapter(A adapter)
XmlAdapter
の構成済みインスタンスをこのマーシャラーに関連付けます。これは、
setAdapter(adapter.getClass(),adapter);
を呼び出す便利なメソッドです。- 型パラメーター:
A
- アダプターの型- パラメーター:
adapter
- 使用するアダプターのインスタンス。null の場合、この型に設定されている現在のアダプターの登録が解除されます。- 例外:
IllegalArgumentExceptionSE
- アダプターパラメーターが null の場合。UnsupportedOperationExceptionSE
- JAXB 1.0 実装に対して再度呼び出された場合。- 導入:
- 1.6、JAXB 2.0
- 関連事項:
setAdapter(Class,XmlAdapter)
setAdapter
<A extends XmlAdapter<?,?>> void setAdapter(ClassSE<A> type, A adapter)
XmlAdapter
の構成済みインスタンスをこのマーシャラーに関連付けます。すべてのマーシャラーは、
Map
SE <Class
SE、XmlAdapter
> を内部的に維持します。これは、フィールド / メソッドにXmlJavaTypeAdapter
アノテーションが付けられたマーシャリングクラスに使用されます。この方法により、アプリケーションは
XmlAdapter
の構成済みインスタンスを使用できます。アダプターのインスタンスが指定されていない場合、マーシャラーはデフォルトのコンストラクターを呼び出してアダプターを作成します。- 型パラメーター:
A
- アダプターの型- パラメーター:
type
- アダプターの型。指定されたインスタンスは、XmlJavaTypeAdapter.value()
がこの型を参照するときに使用されます。adapter
- 使用するアダプターのインスタンス。null の場合、この型に設定されている現在のアダプターの登録が解除されます。- 例外:
IllegalArgumentExceptionSE
- type パラメーターが null の場合。UnsupportedOperationExceptionSE
- JAXB 1.0 実装に対して再度呼び出された場合。- 導入:
- 1.6、JAXB 2.0
getAdapter
<A extends XmlAdapter<?,?>> A getAdapter(ClassSE<A> type)
指定された型に関連付けられたアダプターを取得します。これは、setAdapter(A)
メソッドの逆の操作です。- 型パラメーター:
A
- アダプターの型- パラメーター:
type
- アダプターの型。指定されたインスタンスは、XmlJavaTypeAdapter.value()
がこの型を参照するときに使用されます。- 戻り値:
- 指定された型に関連付けられたアダプター。
- 例外:
IllegalArgumentExceptionSE
- type パラメーターが null の場合。UnsupportedOperationExceptionSE
- JAXB 1.0 実装に対して再度呼び出された場合。- 導入:
- 1.6、JAXB 2.0
setAttachmentMarshaller
void setAttachmentMarshaller(AttachmentMarshaller am)
XML ドキュメント内のバイナリデータを XML バイナリに最適化された添付ファイルとして送信できるようにするコンテキストを関連付けます。添付ファイルは、xml ドキュメント内に格納されている content-id URI(cid)参照によって XML ドキュメントコンテンツモデルから参照されます。- パラメーター:
am
- 設定するアタッチメントマーシャラー- 例外:
IllegalStateExceptionSE
- マーシャル操作中にこのメソッドを同時に呼び出そうとした場合。
getAttachmentMarshaller
AttachmentMarshaller getAttachmentMarshaller()
setSchema
void setSchema(SchemaSE schema)
後続の整列化操作を検証するために使用する必要がある JAXPSchema
SE オブジェクトを指定します。このメソッドに null を渡すと、検証が無効になります。このメソッドを使用すると、呼び出し元は、マーシャリングされた XML をマーシャリング時に検証できます。
最初、このプロパティは
null
に設定されています。- パラメーター:
schema
- マーシャル操作を検証するスキーマオブジェクト、または検証を無効にする null- 例外:
UnsupportedOperationExceptionSE
- このメソッドが、JAXB 1.0 マップクラスを参照する JAXBContext から作成されたマーシャラーで呼び出された場合にスローされる可能性があります- 導入:
- 1.6、JAXB 2.0
getSchema
SchemaSE getSchema()
整列化時の検証を実行するために使用されている JAXPSchema
SE オブジェクトを取得します。マーシャラーにスキーマが設定されていない場合、このメソッドは null を返し、マーシャル時の検証が実行されないことを示します。- 戻り値:
- マーシャル時間の検証を実行するために使用されているスキーマオブジェクト。存在しない場合は null。
- 例外:
UnsupportedOperationExceptionSE
- このメソッドが、JAXB 1.0 マップクラスを参照する JAXBContext から作成されたマーシャラーで呼び出された場合にスローされる可能性があります- 導入:
- 1.6、JAXB 2.0
setListener
void setListener(Marshaller.Listener listener)
マーシャルイベントコールバック
Marshaller.Listener
をこのMarshaller
に登録します。マーシャラーごとにリスナーは 1 人だけです。リスナーを設定すると、以前に設定したリスナーが置き換えられます。リスナーを
null
に設定することにより、現在のリスナーの登録を解除できます。- パラメーター:
listener
-Marshaller.Listener
を実装するクラスのインスタンス- 導入:
- 1.6、JAXB 2.0
getListener
Marshaller.Listener getListener()
この
Marshaller
に登録されているMarshaller.Listener
を返します。- 戻り値:
- このマーシャラーにリスナーが登録されていない場合は、
Marshaller.Listener
またはnull
を登録しました。 - 導入:
- 1.6、JAXB 2.0