public abstract class AbstractUnmarshallerImpl extends ObjectSE implements Unmarshaller
Unmarshaller
実装。 このクラスは、Unmarshaller
インターフェースの部分的なデフォルト実装を提供します。
Jakarta XML Binding Provider は、5 つのメソッド (getUnmarshallerHandler、unmarshal(Node)、unmarshal(XMLReader,InputSource)、unmarshal(XMLStreamReader)、および unmarshal(XMLEventReader)) を実装する必要があります。
Unmarshaller
Unmarshaller.Listener
修飾子と型 | フィールドと説明 |
---|---|
protected boolean | validating アンマーシャラーが検証するかどうか |
コンストラクターと説明 |
---|
AbstractUnmarshallerImpl() |
修飾子と型 | メソッドと説明 |
---|---|
protected UnmarshalException | createUnmarshalException(SAXExceptionSE e) SAXException から UnmarshalException を作成します。 |
<A extends XmlAdapter> | getAdapter(ClassSE<A> type) 指定された型に関連付けられたアダプターを取得します。 |
AttachmentUnmarshaller | getAttachmentUnmarshaller() |
ValidationEventHandler | getEventHandler() 現在のイベントハンドラー、または設定されていない場合はデフォルトのイベントハンドラーを返します。 |
Unmarshaller.Listener | getListener() この Unmarshaller に登録されている Unmarshaller.Listener を返します。 |
ObjectSE | getProperty(StringSE name) 必要なプロパティがないため、getProperty メソッドのデフォルトの実装は常に PropertyException をスローします。 |
SchemaSE | getSchema() 非マーシャル時間検証の実行に使用されている JAXP 1.3 Schema SE オブジェクトを取得します。 |
protected XMLReaderSE | getXMLReader() 構成された XMLReader を取得します。 |
boolean | isValidating() アンマーシャリング操作中に検証するようにアンマーシャラーが構成されているかどうかを示します。 |
<A extends XmlAdapter> | setAdapter(ClassSE<A> type, A adapter) XmlAdapter の構成済みインスタンスをこのアンマーシャラーに関連付けます。 |
void | setAdapter(XmlAdapter adapter) XmlAdapter の構成済みインスタンスをこのアンマーシャラーに関連付けます。 |
void | setAttachmentUnmarshaller(AttachmentUnmarshaller au) cid の content-idURI を解決するコンテキストを、添付ファイルとして渡されるバイナリデータに関連付けます。 |
void | setEventHandler(ValidationEventHandler handler) アプリケーションが検証イベントハンドラーを登録できるようにします。 |
void | setListener(Unmarshaller.Listener listener) アンマーシャルイベントコールバック Unmarshaller.Listener をこの Unmarshaller に登録します。 |
void | setProperty(StringSE name, ObjectSE value) setProperty メソッドのデフォルトの実装は、必要なプロパティがないため、常に PropertyException をスローします。 |
void | setSchema(SchemaSE schema) 後続の非マーシャリング操作を検証するために使用する必要がある JAXP 1.3 Schema SE オブジェクトを指定します。 |
void | setValidating(boolean validating) アンマーシャリング操作中にアンマーシャラーが検証する必要があるかどうかを指定します。 |
ObjectSE | unmarshal(FileSE f) 指定されたファイルから XML データを非整列化し、結果のコンテンツツリーを返します。 |
ObjectSE | unmarshal(InputSourceSE source) 指定された SAX InputSource から XML データをアンマーシャリングし、結果のコンテンツツリーを返します。 |
ObjectSE | unmarshal(InputStreamSE is) 指定された InputStream から XML データをマーシャリング解除し、結果のコンテンツツリーを返します。 |
<T> JAXBElement<T> | unmarshal(NodeSE node, ClassSE<T> expectedType) Jakarta XML Binding によってマップされた declaredType によって XML データをアンマーシャリングし、結果のコンテンツツリーを返します。 |
ObjectSE | unmarshal(ReaderSE reader) 指定されたリーダーから XML データをアンマーシャリングし、結果のコンテンツツリーを返します。 |
ObjectSE | unmarshal(SourceSE source) 指定された XML ソースから XML データを非整列化し、結果のコンテンツツリーを返します。 |
<T> JAXBElement<T> | unmarshal(SourceSE source, ClassSE<T> expectedType) 指定された XML ソースから declaredType によって XML データをアンマーシャリングし、結果のコンテンツツリーを返します。 |
ObjectSE | unmarshal(URLSE url) 指定された URL から XML データをアンマーシャリングし、結果のコンテンツツリーを返します。 |
ObjectSE | unmarshal(XMLEventReaderSE reader) 指定されたプルパーサーから XML データを非整列化し、結果のコンテンツツリーを返します。 |
<T> JAXBElement<T> | unmarshal(XMLEventReaderSE reader, ClassSE<T> expectedType) ルート要素を Jakarta XML Binding にマップされた declaredType にアンマーシャルし、結果のコンテンツツリーを返します。 |
protected abstract ObjectSE | unmarshal(XMLReaderSE reader, InputSourceSE source) 指定された XMLReader と InputSource を使用して、オブジェクトを非整列化します。 |
ObjectSE | unmarshal(XMLStreamReaderSE reader) 指定されたプルパーサーから XML データを非整列化し、結果のコンテンツツリーを返します。 |
<T> JAXBElement<T> | unmarshal(XMLStreamReaderSE reader, ClassSE<T> expectedType) ルート要素を Jakarta XML Binding にマップされた declaredType にアンマーシャルし、結果のコンテンツツリーを返します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
getUnmarshallerHandler, unmarshal
protected XMLReaderSE getXMLReader() throws JAXBException
SAXSource
SE オブジェクトに XMLReader がない場合に使用されます。Unmarshaller
は再入可能ではないため、XMLReader の 1 つのインスタンスのみを使用します。public ObjectSE unmarshal(SourceSE source) throws JAXBException
Unmarshaller
グローバルルート要素のマーシャリング解除を実装します。
クライアントアプリケーションは、Jakarta XML Binding プロバイダーで提供されるデフォルトのパーサーメカニズムを使用しないことを選択できます。SAX 2.0 準拠のパーサーは、Jakarta XML Binding プロバイダーのデフォルトメカニズムの代わりに使用できます。これを行うには、クライアントアプリケーションは、SAX 2.0 パーサープロバイダーによって実装された XMLReader
を含む SAXSource
を適切に構成する必要があります。XMLReader
に org.xml.sax.ErrorHandler
が登録されている場合は、Jakarta XML Binding Provider に置き換えられ、Jakarta XML Binding の ValidationEventHandler
メカニズムを介して検証エラーを報告できるようになります。SAXSource
に XMLReader
が含まれていない場合は、Jakarta XML Binding プロバイダーのデフォルトのパーサーメカニズムが使用されます。
このパーサー置換メカニズムは、Jakarta XML Binding プロバイダーの非マーシャル時間検証エンジンを置換するためにも使用できます。クライアントアプリケーションは、検証を実行するために SAX 2.0 準拠のパーサーを適切に構成する必要があります(上記の例を参照)。アンマーシャリング操作中にパーサーが検出した SAXParserExceptions
は、Jakarta XML Binding プロバイダーによって処理され、Jakarta XML Binding ValidationEvent
オブジェクトに変換され、Unmarshaller
に登録された ValidationEventHandler
を介してクライアントに報告されます。 注: アンマーシャリングの代わりに検証 SAX 2.0 パーサーを指定しても、オンデマンド検証を実行するために Jakarta XML Binding プロバイダーが使用する検証エンジンが必ずしも置き換えられるわけではありません。
クライアントアプリケーションがアンマーシャル中に使用される代替パーサーメカニズムを指定する唯一の方法は、unmarshal(SAXSource)
API を使用することです。アンマーシャルメソッドの他のすべての形式(ファイル、URL、ノードなど)は、Jakarta XML Binding プロバイダーのデフォルトのパーサーおよびバリデーターメカニズムを使用します。
Unmarshaller
の unmarshal
source
- から XML データをアンマーシャリングする XML ソース (プロバイダーは、SAXSource、DOMSource、StreamSource をサポートするためにのみ必要です。)JAXBException
- マーシャリング解除中に予期しないエラーが発生した場合 UnmarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Unmarshaller
が XML から Java へのバインディングを実行できない場合。XML データのマーシャリング解除を参照してください Unmarshaller.unmarshal(javax.xml.transform.Source, Class)
protected abstract ObjectSE unmarshal(XMLReaderSE reader, InputSourceSE source) throws JAXBException
public final ObjectSE unmarshal(InputSourceSE source) throws JAXBException
Unmarshaller
グローバルルート要素のマーシャリング解除を実装します。
Unmarshaller
の unmarshal
source
- XML データをアンマーシャリングするための入力ソース JAXBException
- マーシャリング解除中に予期しないエラーが発生した場合 UnmarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Unmarshaller
が XML から Java へのバインディングを実行できない場合。XML データのマーシャリング解除を参照してください public final ObjectSE unmarshal(URLSE url) throws JAXBException
Unmarshaller
グローバルルート要素のマーシャリング解除を実装します。
Unmarshaller
の unmarshal
url
- から XML データをアンマーシャリングするための URLJAXBException
- マーシャリング解除中に予期しないエラーが発生した場合 UnmarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Unmarshaller
が XML から Java へのバインディングを実行できない場合。XML データのマーシャリング解除を参照してください public final ObjectSE unmarshal(FileSE f) throws JAXBException
Unmarshaller
グローバルルート要素のマーシャリング解除を実装します。
Unmarshaller
の unmarshal
f
- XML データをアンマーシャリングするファイル JAXBException
- マーシャリング解除中に予期しないエラーが発生した場合 UnmarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Unmarshaller
が XML から Java へのバインディングを実行できない場合。XML データのマーシャリング解除を参照してください public final ObjectSE unmarshal(InputStreamSE is) throws JAXBException
Unmarshaller
グローバルルート要素のマーシャリング解除を実装します。
Unmarshaller
の unmarshal
is
- から XML データをアンマーシャリングする InputStreamJAXBException
- マーシャリング解除中に予期しないエラーが発生した場合 UnmarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Unmarshaller
が XML から Java へのバインディングを実行できない場合。XML データのマーシャリング解除を参照してください public final ObjectSE unmarshal(ReaderSE reader) throws JAXBException
Unmarshaller
グローバルルート要素のマーシャリング解除を実装します。
Unmarshaller
の unmarshal
reader
- から XML データをアンマーシャリングするリーダー JAXBException
- マーシャリング解除中に予期しないエラーが発生した場合 UnmarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Unmarshaller
が XML から Java へのバインディングを実行できない場合。XML データのマーシャリング解除を参照してください public boolean isValidating() throws JAXBException
注意 : このメソッドに getValidating() という名前を付けるのではなく、JAXP との整合性を保つために isValidating() という名前を付けました。
Unmarshaller
の isValidating
JAXBException
- 検証フラグの取得中にエラーが発生した場合 public void setEventHandler(ValidationEventHandler handler) throws JAXBException
unmarshal
メソッドの呼び出し中に検証エラーが発生した場合、検証イベントハンドラーは Jakarta XML Binding Provider によって呼び出されます。クライアントアプリケーションが非整列化メソッドを呼び出す前に検証イベントハンドラーを登録しない場合、すべての検証イベントは暗黙のうちに無視され、予期しない動作を引き起こす可能性があります。
Unmarshaller
の setEventHandler
handler
- 検証イベントハンドラー JAXBException
- イベントハンドラーの設定中にエラーが発生した場合 public void setValidating(boolean validating) throws JAXBException
Unmarshaller
は検証しません。このメソッドは、非マーシャリングメソッドの 1 つを呼び出す前または後にのみ呼び出すことができます。
Unmarshaller
の setValidating
validating
- Unmarshaller がアンマーシャル中に検証する必要がある場合は true、それ以外の場合は falseJAXBException
- マーシャリング解除時に検証を有効または無効にしているときにエラーが発生した場合 public ValidationEventHandler getEventHandler() throws JAXBException
Unmarshaller
の getEventHandler
JAXBException
- 現在のイベントハンドラーの取得中にエラーが発生した場合 protected UnmarshalException createUnmarshalException(SAXExceptionSE e)
プロバイダー実装の ContentHandler が JAXBException をスローする場合、SAXException によって例外をラップする必要があります。アンマーシャラー実装が JAXBException によって SAXException を盲目的にラップする場合、そのような例外は、別の JAXBException によってラップされた SAXException によってラップされた JAXBException になります。これはばかげています。
このメソッドは、SAXException のネストされた例外をチェックし、それらの過剰なラップを減らします。
public void setProperty(StringSE name, ObjectSE value) throws PropertyException
Unmarshaller
の setProperty
name
- 設定するプロパティの名前。この値は、定数フィールドの 1 つまたはユーザー指定の文字列を使用して指定できます。value
- 設定するプロパティの値 PropertyException
- 指定されたプロパティまたは値の処理中にエラーが発生した場合 public ObjectSE getProperty(StringSE name) throws PropertyException
Unmarshaller
の getProperty
name
- 取得するプロパティの名前 PropertyException
- 指定されたプロパティまたは値のプロパティ名の取得中にエラーが発生した場合 public ObjectSE unmarshal(XMLEventReaderSE reader) throws JAXBException
Unmarshaller
このメソッドはアンマーシャルグローバルルートメソッドです。
このメソッドは、パーサーが START_DOCUMENT または START_ELEMENT イベントにあることを前提としています。アンマーシャリングは、この開始イベントから対応する終了イベントまで実行されます。このメソッドが正常に返されると、reader
は終了イベントの直後にトークンを指します。
Unmarshaller
の unmarshal
reader
- 読み取るパーサー。JAXBException
- マーシャリング解除中に予期しないエラーが発生した場合 UnmarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Unmarshaller
が XML から Java へのバインディングを実行できない場合。XML データのマーシャリング解除を参照してください Unmarshaller.unmarshal(javax.xml.stream.XMLEventReader, Class)
public ObjectSE unmarshal(XMLStreamReaderSE reader) throws JAXBException
Unmarshaller
グローバルルート要素のマーシャリング解除を実装します。
このメソッドは、パーサーが START_DOCUMENT または START_ELEMENT イベントにあることを前提としています。アンマーシャリングは、この開始イベントから対応する終了イベントまで実行されます。このメソッドが正常に返されると、reader
は終了イベントの直後にトークンを指します。
Unmarshaller
の unmarshal
reader
- 読み取るパーサー。JAXBException
- マーシャリング解除中に予期しないエラーが発生した場合 UnmarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Unmarshaller
が XML から Java へのバインディングを実行できない場合。XML データのマーシャリング解除を参照してください Unmarshaller.unmarshal(javax.xml.stream.XMLStreamReader, Class)
public <T> JAXBElement<T> unmarshal(NodeSE node, ClassSE<T> expectedType) throws JAXBException
Unmarshaller
declaredType
によって XML データをアンマーシャリングし、結果のコンテンツツリーを返します。宣言された型によるアンマーシャルを実装します
Unmarshaller
の unmarshal
node
- XML データのマーシャリングを解除するドキュメント / 要素。呼び出し元は、少なくとも Document と Element をサポートしている必要があります。expectedType
- node
の XML データを保持するための適切な Jakarta XML Binding マップクラス。node
の JAXBElement 表現 JAXBException
- マーシャリング解除中に予期しないエラーが発生した場合 UnmarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Unmarshaller
が XML から Java へのバインディングを実行できない場合。XML データのマーシャリング解除を参照してください public <T> JAXBElement<T> unmarshal(SourceSE source, ClassSE<T> expectedType) throws JAXBException
Unmarshaller
declaredType
によって XML データをアンマーシャリングし、結果のコンテンツツリーを返します。宣言された型によるアンマーシャルを実装します
Unmarshaller
の unmarshal
source
- から XML データをアンマーシャリングする XML ソース (プロバイダーは、SAXSource、DOMSource、StreamSource をサポートするためにのみ必要です。)expectedType
- source
の xml ルート要素を保持するための適切な Jakarta XML Binding マップクラス JAXBException
- マーシャリング解除中に予期しないエラーが発生した場合 UnmarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Unmarshaller
が XML から Java へのバインディングを実行できない場合。XML データのマーシャリング解除を参照してください public <T> JAXBElement<T> unmarshal(XMLStreamReaderSE reader, ClassSE<T> expectedType) throws JAXBException
Unmarshaller
declaredType
にアンマーシャルし、結果のコンテンツツリーを返します。このメソッドは、declaredType によるアンマーシャルを実装します。
このメソッドは、パーサーが START_DOCUMENT または START_ELEMENT イベントにあることを前提としています。アンマーシャリングは、この開始イベントから対応する終了イベントまで実行されます。このメソッドが正常に返されると、reader
は終了イベントの直後にトークンを指します。
Unmarshaller
の unmarshal
reader
- 読み取るパーサー。expectedType
- reader
の START_ELEMENTXML データを保持するための適切な Jakarta XML Binding マップクラス。JAXBException
- マーシャリング解除中に予期しないエラーが発生した場合 UnmarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Unmarshaller
が XML から Java へのバインディングを実行できない場合。XML データのマーシャリング解除を参照してください public <T> JAXBElement<T> unmarshal(XMLEventReaderSE reader, ClassSE<T> expectedType) throws JAXBException
Unmarshaller
declaredType
にアンマーシャルし、結果のコンテンツツリーを返します。このメソッドは、declaredType によるアンマーシャルを実装します。
このメソッドは、パーサーが START_DOCUMENT または START_ELEMENT イベントにあることを前提としています。アンマーシャリングは、この開始イベントから対応する終了イベントまで実行されます。このメソッドが正常に返されると、reader
は終了イベントの直後にトークンを指します。
Unmarshaller
の unmarshal
reader
- 読み取るパーサー。expectedType
- reader
の START_ELEMENTXML データを保持するための適切な Jakarta XML Binding マップクラス。JAXBException
- マーシャリング解除中に予期しないエラーが発生した場合 UnmarshalException
- ValidationEventHandler
が handleEvent
メソッドから false を返す場合、または Unmarshaller
が XML から Java へのバインディングを実行できない場合。XML データのマーシャリング解除を参照してください public void setSchema(SchemaSE schema)
Unmarshaller
Schema
SE オブジェクトを指定します。このメソッドに null を渡すと、検証が無効になります。 このメソッドは、非推奨の setValidating(boolean)
API を置き換えます。
最初、このプロパティは null
に設定されています。
Unmarshaller
の setSchema
schema
- アンマーシャリング操作を検証するスキーマオブジェクト、または検証を無効にする nullpublic SchemaSE getSchema()
Unmarshaller
Schema
SE オブジェクトを取得します。アンマーシャラーにスキーマが設定されていない場合、このメソッドは null を返し、アンマーシャル時間の検証が実行されないことを示します。 このメソッドは、非推奨の Unmarshaller.isValidating()
API の置換機能と、スキーマオブジェクトへのアクセスを提供します。Unmarshaller で検証が有効になっているかどうかを判断するには、戻り値の型の null をテストするだけです。
boolean isValidating = u.getSchema()!=null;
Unmarshaller
の getSchema
public void setAdapter(XmlAdapter adapter)
Unmarshaller
XmlAdapter
の構成済みインスタンスをこのアンマーシャラーに関連付けます。 これは、setAdapter(adapter.getClass(),adapter);
を呼び出す便利なメソッドです。
Unmarshaller
の setAdapter
Unmarshaller.setAdapter(Class,XmlAdapter)
public <A extends XmlAdapter> void setAdapter(ClassSE<A> type, A adapter)
Unmarshaller
XmlAdapter
の構成済みインスタンスをこのアンマーシャラーに関連付けます。 すべてのアンマーシャラーは、Map
SE <Class
SE、XmlAdapter
> を内部的に維持します。これは、フィールド / メソッドに XmlJavaTypeAdapter
アノテーションが付けられたアンマーシャリングクラスに使用されます。
この方法により、アプリケーションは XmlAdapter
の構成済みインスタンスを使用できます。アダプターのインスタンスが指定されていない場合、アンマーシャラーはデフォルトのコンストラクターを呼び出してアダプターを作成します。
Unmarshaller
の setAdapter
type
- アダプターの型。指定されたインスタンスは、XmlJavaTypeAdapter.value()
がこの型を参照するときに使用されます。adapter
- 使用するアダプターのインスタンス。null の場合、この型に設定されている現在のアダプターの登録が解除されます。public <A extends XmlAdapter> A getAdapter(ClassSE<A> type)
Unmarshaller
Unmarshaller.setAdapter(jakarta.xml.bind.annotation.adapters.XmlAdapter)
メソッドの逆の操作です。Unmarshaller
の getAdapter
public void setAttachmentUnmarshaller(AttachmentUnmarshaller au)
Unmarshaller
cid の content-idURI を解決するコンテキストを、添付ファイルとして渡されるバイナリデータに関連付けます。
unmarshaller が XOP 処理を実行している場合でも、Unmarshaller.setSchema(Schema)
を介して有効化されたアンマーシャル時間検証をサポートする必要があります。
Unmarshaller
の setAttachmentUnmarshaller
public AttachmentUnmarshaller getAttachmentUnmarshaller()
Unmarshaller
の getAttachmentUnmarshaller
public void setListener(Unmarshaller.Listener listener)
Unmarshaller
アンマーシャルイベントコールバック Unmarshaller.Listener
をこの Unmarshaller
に登録します。
Unmarshaller ごとにリスナーは 1 つだけです。リスナーを設定すると、以前に設定したリスナーが置き換えられます。リスナーを null
に設定することにより、現在のリスナーの登録を解除できます。
Unmarshaller
の setListener
listener
- この Unmarshaller
の非マーシャルイベントコールバックを提供します public Unmarshaller.Listener getListener()
Unmarshaller
この Unmarshaller
に登録されている Unmarshaller.Listener
を返します。
Unmarshaller
の getListener
Unmarshaller.Listener
または null
を登録します。Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.