-
- 既知のすべての実装クラス:
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 Nodeに整列化します。
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 );
オーバーロードされた
Marshaller.marshal(java.lang.Object,...)
メソッドの最初のパラメータは、JAXBIntrospector.isElement(java.lang.Object)
によって計算されたJAXB要素である必要があります。これを満たさない場合、Marshaller.marshal
メソッドはMarshalException
をスローする必要があります。 JAXB要素でないインスタンスの整列化を可能にするために、2つのメカニズムが存在します。 1つの方法は、JAXBElement
の値としてインスタンスをラップし、ラッパー要素をMarshaller.marshal
メソッドへの最初のパラメータとして渡すことです。 Javaからスキーマへのバインディングの場合は、インスタンスのクラスを@XmlRootElement
で単に注釈することもできます。エンコーディング
デフォルトでは、XMLデータを
java.io.OutputStream
またはjava.io.Writer
に生成する場合、MarshallerはUTF-8エンコーディングを使用します。 これらの整列化操作中に使用される出力エンコーディングを変更するには、setProperty
APIを使用します。 クライアント・アプリケーションは、「W3C XML 1.0勧告」で定義され、Java Platformでサポートされている有効な文字エンコーディング名を指定する必要があります。検証と整形式
クライアント・アプリケーションは、整列化APIのいずれかを呼び出す前に、Javaコンテンツ・ツリーを検証することを求められません。 さらに、Javaコンテンツ・ツリーを整列化してXMLデータに戻すために、Javaコンテンツ・ツリーの元となるスキーマに関してそのJavaコンテンツ・ツリーが有効でなければならないという要件はありません。 JAXBプロバイダごとにさまざまなレベルで無効なJavaコンテンツ・ツリーの整列化処理が今後サポートされるようになりますが、すべてのJAXBプロバイダは有効なコンテンツ・ツリーをXMLデータに整列化して戻せるようにする必要があります。 JAXBプロバイダは、コンテンツが無効なために整列化操作を完了できない場合、
MarshalException
をスローする必要があります。 JAXBプロバイダによっては無効なコンテンツの整列化を完全に許可していますが、最初の検証エラーで失敗するものもあります。整列化操作でスキーマ検証が明示的に有効にされていない場合であっても、操作中に特定のタイプの検証イベントが検出される可能性があります。 検証イベントは、登録されているイベント・ハンドラに報告されます。 整列化APIのいずれかを呼び出す前に、クライアント・アプリケーションがイベント・ハンドラの登録を済ませていない場合、イベントはデフォルトのイベント・ハンドラに転送されます。デフォルトのイベント・ハンドラは、最初のエラーまたは致命的なエラーの発生後に整列化操作を終了させます。 JAXB 2.0以降のバージョンでは、
DefaultValidationEventHandler
は使用されなくなりました。すべてのJAXBプロバイダは、次のプロパティ・セットをサポートする必要があります。 プロバイダによっては、追加のプロパティをサポートする可能性があります。
jaxb.encoding
- 値はjava.lang.Stringである必要があります- XMLデータを整列化するときに使用される出力エンコーディングです。 このプロパティが指定されない場合、Marshallerはデフォルトで「UTF-8」を使用します。
jaxb.formatted.output
- 値はjava.lang.Booleanである必要があります- このプロパティは、Marshallerが改行とインデントを使用して結果として得られるXMLデータを書式設定するかどうかを制御します。 このプロパティの値がtrueの場合、人が判読できるインデント処理されたXMLデータとなり、falseの場合、書式設定されないXMLデータになります。 このプロパティが指定されない場合、Marshallerはデフォルトでfalse (書式設定されない)になります。
jaxb.schemaLocation
- 値はJava.lang.Stringである必要があります- このプロパティにより、生成XMLデータのxsi:schemaLocation属性をクライアント・アプリケーションが指定することができます。 schemaLocation属性値の形式については、「W3C XML Schema Part 0: Primer」のセクション5.6 に非規定的な形式でわかりやすく説明され、「W3C XML Schema Part 1: Structures」のセクション2.6 に規定されています。
jaxb.noNamespaceSchemaLocation
- 値はJava.lang.Stringである必要があります- このプロパティにより、生成XMLデータのxsi:noNamespaceSchemaLocation属性をクライアント・アプリケーションが指定することができます。 schemaLocation属性値の形式については、「W3C XML Schema Part 0: Primer」のセクション5.6 に非規定的な形式でわかりやすく説明され、「W3C XML Schema Part 1: Structures」のセクション2.6 に規定されています。
jaxb.fragment
- 値はjava.lang.Booleanである必要があります- このプロパティは、文書レベルのイベントがMarshallerによって生成されるかどうかを決定します。 このプロパティが指定されない場合、デフォルトは
false
になります。 このプロパティにtrueが設定された場合、使用する整列化APIに応じて次のように異なる意味を持ちます。
marshal(Object,ContentHandler)
- MarshallerはContentHandler.startDocument()
とContentHandler.endDocument()
を呼び出しません。marshal(Object,Node)
- プロパティはこのAPIに影響を与えません。marshal(Object,OutputStream)
- MarshallerはXML宣言を生成しません。marshal(Object,Writer)
- MarshallerはXML宣言を生成しません。marshal(Object,Result)
- Resultオブジェクトの種類に依存します。Node、ContentHandler、Stream APIのセマンティックスを参照してくださいmarshal(Object,XMLEventWriter)
- MarshallerはXMLStreamConstants.START_DOCUMENT
およびXMLStreamConstants.END_DOCUMENT
イベントを生成しません。marshal(Object,XMLStreamWriter)
- MarshallerはXMLStreamConstants.START_DOCUMENT
およびXMLStreamConstants.END_DOCUMENT
イベントを生成しません。
Marshaller
は、2つのスタイルのコールバック・メカニズムを提供します。これらにより、非整列化プロセスの重要な時点でアプリケーション固有の処理が可能になります。 「クラス定義された」イベント・コールバックでは、JAXBマップ・クラスに配置されたアプリケーション固有のコードが整列化中にトリガーされます。 「外部リスナー」は、型のイベント・コールバックを介するのではなく、単一のコールバック・メソッドでの整列化イベントの集中処理を可能にします。クラス定義されたイベント・コールバック・メソッドにより、任意のJAXBマップ・クラスは次のメソッド・シグニチャを持つメソッドを定義することによって、固有のコールバック・メソッドを指定できます。
// 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);
外部リスナー・コールバック・メカニズムでは、
setListener(Listener)
にMarshaller.Listener
インスタンスを登録できます。 外部リスナーはすべてのコールバック・イベントを受け取るため、クラスごとに定義されるコールバック・メソッドよりも、より集中的な処理が可能になります。クラス定義されたイベント・コールバック・メソッドと外部リスナー・イベント・コールバック・メソッドはそれぞれ独立しており、1つのイベントに対し両方を呼び出すことができます。 両方のリスナー・コールバック・メソッドが存在する場合の呼出し順序は、
Marshaller.Listener.beforeMarshal(Object)
およびMarshaller.Listener.afterMarshal(Object)
で定義されます。例外をスローしたイベント・コールバック・メソッドは、現在の整列化プロセスを終了させます。
- 導入されたバージョン:
- 1.6, JAXB 1.0
- 関連項目:
JAXBContext
、Validator
、Unmarshaller
-
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 インタフェース 説明 static class
Marshaller.Listener
Marshaller
にこのクラスの実装のインスタンスを登録し、整列化イベントを外部的に待機します。
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static String
JAXB_ENCODING
整列化されたXMLデータの出力エンコーディングを指定するために使用されるプロパティの名前です。static String
JAXB_FORMATTED_OUTPUT
整列化されたXMLデータを改行とインデントを使用して書式設定するかどうかを指定するために使用されるプロパティの名前です。static String
JAXB_FRAGMENT
marshallerが文書レベルのイベント(つまり、startDocumentまたはendDocumentの呼び出し)を生成するかどうかを指定するために使用されるプロパティの名前です。static String
JAXB_NO_NAMESPACE_SCHEMA_LOCATION
整列化されたXML出力に設定するxsi:noNamespaceSchemaLocation属性値を指定するために使用されるプロパティの名前です。static String
JAXB_SCHEMA_LOCATION
整列化されたXML出力に設定するxsi:schemaLocation属性値を指定するために使用されるプロパティの名前です。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 <A extends XmlAdapter>
AgetAdapter(Class<A> type)
指定した型に関連付けられているアダプタを取得します。AttachmentMarshaller
getAttachmentMarshaller()
ValidationEventHandler
getEventHandler()
現在のイベント・ハンドラ、または、それが設定されていない場合はデフォルト・イベント・ハンドラを返します。Marshaller.Listener
getListener()
このMarshaller
に登録されたMarshaller.Listener
を返します。Node
getNode(Object contentTree)
コンテンツ・ツリーのDOMツリー・ビューを取得します(オプション)。Object
getProperty(String name)
Marshaller
の基本となる実装の特定のプロパティを取得します。Schema
getSchema()
整列化時の検証に使用されるJAXP 1.3Schema
オブジェクトを取得します。void
marshal(Object jaxbElement, File output)
jaxbElement
をルートとするコンテンツ・ツリーをファイルに整列化します。void
marshal(Object jaxbElement, OutputStream os)
jaxbElement
をルートとするコンテンツ・ツリーを出力ストリームに整列化します。void
marshal(Object jaxbElement, Writer writer)
jaxbElement
をルートとするコンテンツ・ツリーをWriterに整列化します。void
marshal(Object jaxbElement, XMLEventWriter writer)
jaxbElement
をルートとするコンテンツ・ツリーをXMLEventWriter
に整列化します。void
marshal(Object jaxbElement, XMLStreamWriter writer)
jaxbElement
をルートとするコンテンツ・ツリーをXMLStreamWriter
に整列化します。void
marshal(Object jaxbElement, Result result)
jaxbElement
をルートとするコンテンツ・ツリーを、指定されたjavax.xml.transform.Result
に整列化します。void
marshal(Object jaxbElement, Node node)
jaxbElement
をルートとするコンテンツ・ツリーをDOMツリーに整列化します。void
marshal(Object jaxbElement, ContentHandler handler)
jaxbElement
をルートとするコンテンツ・ツリーをSAX2イベントに整列化します。<A extends XmlAdapter>
voidsetAdapter(Class<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
に整列化イベント・コールバックMarshaller.Listener
を登録します。void
setProperty(String name, Object value)
Marshaller
の基本となる実装の特定のプロパティを設定します。void
setSchema(Schema schema)
後の整列化操作の検証に使用する、JAXP 1.3Schema
オブジェクトを指定します。
-
-
-
フィールドの詳細
-
JAXB_ENCODING
static final String JAXB_ENCODING
整列化されたXMLデータの出力エンコーディングを指定するために使用されるプロパティの名前です。- 関連項目:
- 定数フィールド値
-
JAXB_FORMATTED_OUTPUT
static final String JAXB_FORMATTED_OUTPUT
整列化されたXMLデータを改行とインデントを使用して書式設定するかどうかを指定するために使用されるプロパティの名前です。- 関連項目:
- 定数フィールド値
-
JAXB_SCHEMA_LOCATION
static final String JAXB_SCHEMA_LOCATION
整列化されたXML出力に設定するxsi:schemaLocation属性値を指定するために使用されるプロパティの名前です。- 関連項目:
- 定数フィールド値
-
JAXB_NO_NAMESPACE_SCHEMA_LOCATION
static final String JAXB_NO_NAMESPACE_SCHEMA_LOCATION
整列化されたXML出力に設定するxsi:noNamespaceSchemaLocation属性値を指定するために使用されるプロパティの名前です。- 関連項目:
- 定数フィールド値
-
-
メソッドの詳細
-
marshal
void marshal(Object jaxbElement, Result result) throws JAXBException
jaxbElement
をルートとするコンテンツ・ツリーを、指定されたjavax.xml.transform.Result
に整列化します。すべてのJAXBプロバイダは、
DOMResult
、SAXResult
、およびStreamResult
を最低限サポートする必要があります。 加えて、Result
のその他の派生クラスをサポートすることもできます。- パラメータ:
jaxbElement
- 整列化するコンテンツ・ツリーのルート。result
- XMLはこのResultに送信される- 例外:
JAXBException
- 整列化の実行中に予想外の問題が発生した場合。MarshalException
-ValidationEventHandler
のhandleEvent
メソッドからfalseが返されるか、Marshaller
がjaxbElement
(またはjaxbElement
から到達可能なオブジェクト)を整列化できない場合。 JAXB要素の整列化を参照。IllegalArgumentException
- いずれかのメソッド・パラメータがnullの場合
-
marshal
void marshal(Object jaxbElement, OutputStream os) throws JAXBException
jaxbElement
をルートとするコンテンツ・ツリーを出力ストリームに整列化します。- パラメータ:
jaxbElement
- 整列化するコンテンツ・ツリーのルート。os
- XMLはこのストリームに追加される。- 例外:
JAXBException
- 整列化の実行中に予想外の問題が発生した場合。MarshalException
-ValidationEventHandler
のhandleEvent
メソッドからfalseが返されるか、Marshaller
がjaxbElement
(またはjaxbElement
から到達可能なオブジェクト)を整列化できない場合。 JAXB要素の整列化を参照。IllegalArgumentException
- いずれかのメソッド・パラメータがnullの場合
-
marshal
void marshal(Object jaxbElement, File output) throws JAXBException
jaxbElement
をルートとするコンテンツ・ツリーをファイルに整列化します。- パラメータ:
jaxbElement
- 整列化するコンテンツ・ツリーのルート。output
- 書き込まれるファイル。 このファイルがすでに存在する場合は上書きされる。- 例外:
JAXBException
- 整列化の実行中に予想外の問題が発生した場合。MarshalException
-ValidationEventHandler
のhandleEvent
メソッドからfalseが返されるか、Marshaller
がjaxbElement
(またはjaxbElement
から到達可能なオブジェクト)を整列化できない場合。 JAXB要素の整列化を参照。IllegalArgumentException
- いずれかのメソッド・パラメータがnullの場合- 導入されたバージョン:
- 1.6, JAXB 2.1
-
marshal
void marshal(Object jaxbElement, Writer writer) throws JAXBException
jaxbElement
をルートとするコンテンツ・ツリーをWriterに整列化します。- パラメータ:
jaxbElement
- 整列化するコンテンツ・ツリーのルート。writer
- XMLはこのライターに送信される。- 例外:
JAXBException
- 整列化の実行中に予想外の問題が発生した場合。MarshalException
-ValidationEventHandler
のhandleEvent
メソッドからfalseが返されるか、Marshaller
がjaxbElement
(またはjaxbElement
から到達可能なオブジェクト)を整列化できない場合。 JAXB要素の整列化を参照。IllegalArgumentException
- いずれかのメソッド・パラメータがnullの場合
-
marshal
void marshal(Object jaxbElement, ContentHandler handler) throws JAXBException
jaxbElement
をルートとするコンテンツ・ツリーをSAX2イベントに整列化します。- パラメータ:
jaxbElement
- 整列化するコンテンツ・ツリーのルート。handler
- XMLはこのハンドラにSAX2イベントとして送信される。- 例外:
JAXBException
- 整列化の実行中に予想外の問題が発生した場合。MarshalException
-ValidationEventHandler
のhandleEvent
メソッドからfalseが返されるか、Marshaller
がjaxbElement
(またはjaxbElement
から到達可能なオブジェクト)を整列化できない場合。 JAXB要素の整列化を参照。IllegalArgumentException
- いずれかのメソッド・パラメータがnullの場合
-
marshal
void marshal(Object jaxbElement, Node node) throws JAXBException
jaxbElement
をルートとするコンテンツ・ツリーをDOMツリーに整列化します。- パラメータ:
jaxbElement
- 整列化するコンテンツ・ツリー。node
- DOMノードがこのノードの子として追加される。 このパラメータは、子(Document
、DocumentFragment
、またはElement
)を受け入れるノードにする必要がある- 例外:
JAXBException
- 整列化の実行中に予想外の問題が発生した場合。MarshalException
-ValidationEventHandler
のhandleEvent
メソッドからfalseが返されるか、Marshaller
がjaxbElement
(またはjaxbElement
から到達可能なオブジェクト)を整列化できない場合。 JAXB要素の整列化を参照。IllegalArgumentException
- いずれかのメソッド・パラメータがnullの場合
-
marshal
void marshal(Object jaxbElement, XMLStreamWriter writer) throws JAXBException
jaxbElement
をルートとするコンテンツ・ツリーをXMLStreamWriter
に整列化します。- パラメータ:
jaxbElement
- 整列化するコンテンツ・ツリー。writer
- XMLはこのライターに送信される。- 例外:
JAXBException
- 整列化の実行中に予想外の問題が発生した場合。MarshalException
-ValidationEventHandler
のhandleEvent
メソッドからfalseが返されるか、Marshaller
がjaxbElement
(またはjaxbElement
から到達可能なオブジェクト)を整列化できない場合。 JAXB要素の整列化を参照。IllegalArgumentException
- いずれかのメソッド・パラメータがnullの場合- 導入されたバージョン:
- 1.6, JAXB 2.0
-
marshal
void marshal(Object jaxbElement, XMLEventWriter writer) throws JAXBException
jaxbElement
をルートとするコンテンツ・ツリーをXMLEventWriter
に整列化します。- パラメータ:
jaxbElement
- 整列化するjaxbElementをルートとするコンテンツ・ツリー。writer
- XMLはこのライターに送信される。- 例外:
JAXBException
- 整列化の実行中に予想外の問題が発生した場合。MarshalException
-ValidationEventHandler
のhandleEvent
メソッドからfalseが返されるか、Marshaller
がjaxbElement
(またはjaxbElement
から到達可能なオブジェクト)を整列化できない場合。 JAXB要素の整列化を参照。IllegalArgumentException
- いずれかのメソッド・パラメータがnullの場合- 導入されたバージョン:
- 1.6, JAXB 2.0
-
getNode
Node getNode(Object contentTree) throws JAXBException
コンテンツ・ツリーのDOMツリー・ビューを取得します(オプション)。 返されたDOMツリーが更新された場合、こうした変更はコンテンツ・ツリーでも確認できます。 コンテンツ・ツリーをDOM表現に強制的にディープ・コピーするには、marshal(Object, org.w3c.dom.Node)
を使用します。- パラメータ:
contentTree
- - XMLコンテンツのJAXB Java表現- 戻り値:
- コンテンツ・ツリーのDOMツリー・ビュー
- 例外:
UnsupportedOperationException
- JAXBプロバイダ実装がコンテンツ・ツリーのDOMビューをサポートしていない場合IllegalArgumentException
- いずれかのメソッド・パラメータがnullの場合JAXBException
- 予想外の問題が発生した場合
-
setProperty
void setProperty(String name, Object value) throws PropertyException
Marshaller
の基本となる実装の特定のプロパティを設定します。 このメソッドは、先に述べた定義済みの標準JAXBプロパティまたはプロバイダ固有のプロパティの1つを設定する目的にのみ使用できます。 未定義のプロパティを設定しようとした場合、PropertyExceptionがスローされます。 サポートされているプロパティを参照してください。- パラメータ:
name
- 設定するプロパティの名前。 この値は、定数フィールドの1つかユーザーが指定した文字列を使用して指定できる。value
- 設定するプロパティの値- 例外:
PropertyException
- 指定したプロパティまたは値の処理中にエラーが発生した場合IllegalArgumentException
- nameパラメータがnullの場合
-
getProperty
Object getProperty(String name) throws PropertyException
Marshaller
の基本となる実装の特定のプロパティを取得します。 このメソッドは、先に述べた定義済みの標準JAXBプロパティまたはプロバイダ固有のプロパティの1つを取得する目的にのみ使用できます。 未定義のプロパティを取得しようとした場合、PropertyExceptionがスローされます。 サポートされているプロパティを参照してください。- パラメータ:
name
- 取得するプロパティの名前- 戻り値:
- 要求されたプロパティの値
- 例外:
PropertyException
- 指定したプロパティまたは値プロパティ名の取得中にエラーが発生した場合IllegalArgumentException
- nameパラメータがnullの場合
-
setEventHandler
void setEventHandler(ValidationEventHandler handler) throws JAXBException
アプリケーションが検証イベント・ハンドラを登録することができます。検証イベント・ハンドラは、いずれかの整列化APIの呼出し中に検証エラーが発生した場合、JAXBプロバイダによって呼び出されます。 整列化メソッドのいずれかを呼び出す前にクライアント・アプリケーションが検証イベント・ハンドラを登録していない場合、検証イベントはデフォルト・イベント・ハンドラによって処理されます。デフォルト・イベント・ハンドラは、最初のエラーまたは致命的なエラーの発生後に整列化操作を終了させます。
このメソッドをnullパラメータとともに呼び出した場合、Marshallerはデフォルトのデフォルト・イベント・ハンドラに戻されます。
- パラメータ:
handler
- 検証イベント・ハンドラ- 例外:
JAXBException
- イベント・ハンドラの設定中にエラーが発生した場合
-
getEventHandler
ValidationEventHandler getEventHandler() throws JAXBException
現在のイベント・ハンドラ、または、それが設定されていない場合はデフォルト・イベント・ハンドラを返します。- 戻り値:
- 現在のValidationEventHandler。それが設定されていない場合はデフォルト・イベント・ハンドラ
- 例外:
JAXBException
- 現在のイベント・ハンドラの取得中にエラーが発生した場合
-
setAdapter
void setAdapter(XmlAdapter adapter)
XmlAdapter
の構成済みのインスタンスをこのマーシャラに関連付けます。これは
setAdapter(adapter.getClass(),adapter);
を呼び出す簡易メソッドです。- 例外:
IllegalArgumentException
- adapterパラメータがnullの場合。UnsupportedOperationException
- JAXB 1.0実装に対して呼び出された場合。- 導入されたバージョン:
- 1.6, JAXB 2.0
- 関連項目:
setAdapter(Class,XmlAdapter)
-
setAdapter
<A extends XmlAdapter> void setAdapter(Class<A> type, A adapter)
XmlAdapter
の構成済みのインスタンスをこのマーシャラに関連付けます。すべてのMarshallerは、内部的に
Map
<Class
,XmlAdapter
>を保持しており、フィールドまたはメソッドがXmlJavaTypeAdapter
で注釈されたクラスを整列化するために使用します。このメソッドにより、アプリケーションは
XmlAdapter
の構成済みのインスタンスを使用できます。 アダプタのインスタンスが与えられない場合、Marshallerはそれのデフォルト・コンストラクタを呼び出してインスタンスを作成します。- パラメータ:
type
- アダプタの型。XmlJavaTypeAdapter.value()
がこの型を参照する場合は、指定したインスタンスが使用される。adapter
- 使用するアダプタのインスタンス。 nullの場合、この型に対して現在設定されているアダプタの登録が解除される。- 例外:
IllegalArgumentException
- typeパラメータがnullの場合。UnsupportedOperationException
- JAXB 1.0実装に対して呼び出された場合。- 導入されたバージョン:
- 1.6, JAXB 2.0
-
getAdapter
<A extends XmlAdapter> A getAdapter(Class<A> type)
指定した型に関連付けられているアダプタを取得します。 これは、setAdapter(javax.xml.bind.annotation.adapters.XmlAdapter)
メソッドの逆の操作です。- 例外:
IllegalArgumentException
- typeパラメータがnullの場合。UnsupportedOperationException
- JAXB 1.0実装に対して呼び出された場合。- 導入されたバージョン:
- 1.6, JAXB 2.0
-
setAttachmentMarshaller
void setAttachmentMarshaller(AttachmentMarshaller am)
XML文書内のバイナリ・データを、XMLバイナリの最適化された添付として転送可能にするコンテキストを関連付けます。 添付は、XML文書コンテンツ・モデルから、XML文書内に保存されたコンテンツID URI (cid)参照によって参照されます。
- 例外:
IllegalStateException
- 整列化操作中に、このメソッドを同時に呼び出そうとした場合。
-
getAttachmentMarshaller
AttachmentMarshaller getAttachmentMarshaller()
-
setSchema
void setSchema(Schema schema)
後の整列化操作の検証に使用する、JAXP 1.3Schema
オブジェクトを指定します。 このメソッドにnullを渡すと、検証は無効になります。このメソッドにより、呼出し側は整列化の実行時に、整列化されるXMLを検証できます。
このプロパティは最初に
null
に設定されます。- パラメータ:
schema
- 整列化操作の検証に使用するスキーマ・オブジェクト。検証を無効にする場合はnull- 例外:
UnsupportedOperationException
- JAXB 1.0マップ・クラスを参照するJAXBContextから作成されたMarshallerに対してこのメソッドが呼び出された場合にスローされる可能性がある- 導入されたバージョン:
- 1.6, JAXB 2.0
-
getSchema
Schema getSchema()
整列化時の検証に使用されるJAXP 1.3Schema
オブジェクトを取得します。 Marshallerにスキーマが設定されていない場合、このメソッドは、整列化時に検証を実行しないことを示す、nullを返します。- 戻り値:
- 整列化時の検証を実行するために使用されるスキーマ・オブジェクト。存在しない場合はnull。
- 例外:
UnsupportedOperationException
- JAXB 1.0マップ・クラスを参照するJAXBContextから作成されたMarshallerに対してこのメソッドが呼び出された場合にスローされる可能性がある- 導入されたバージョン:
- 1.6, JAXB 2.0
-
setListener
void setListener(Marshaller.Listener listener)
この
Marshaller
に整列化イベント・コールバックMarshaller.Listener
を登録します。各MarshallerにListenerは1つだけです。 Listenerを設定すると、前に設定されていたListenerと置き換わります。 Listenerに
null
を設定することにより、現在のListenerの登録を解除できます。- パラメータ:
listener
-Marshaller.Listener
を実装するクラスのインスタンス- 導入されたバージョン:
- 1.6, JAXB 2.0
-
getListener
Marshaller.Listener getListener()
この
Marshaller
に登録されたMarshaller.Listener
を返します。- 戻り値:
- 登録されている
Marshaller.Listener
、またはこのMarshallerに登録されているListenerがない場合null
。 - 導入されたバージョン:
- 1.6, JAXB 2.0
-
-