|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.xml.bind.helpers.AbstractUnmarshallerImpl
public abstract class AbstractUnmarshallerImpl
部分的なデフォルト Unmarshaller 実装です。
このクラスは、Unmarshaller
インタフェースの部分的なデフォルト実装を提供します。
JAXB プロバイダは、getUnmarshallerHandler、unmarshal(Node)、unmarshal(XMLReader,InputSource)、unmarshal(XMLStreamReader)、および unmarshal(XMLEventReader) の 5 つのメソッドを実装する必要があります 。
Unmarshaller
入れ子のクラスの概要 |
---|
インタフェース javax.xml.bind.Unmarshaller から継承された入れ子のクラス/インタフェース |
---|
Unmarshaller.Listener |
フィールドの概要 | |
---|---|
protected boolean |
validating
unmarshaller が検証を行うかどうか |
コンストラクタの概要 | |
---|---|
AbstractUnmarshallerImpl()
|
メソッドの概要 | ||
---|---|---|
protected UnmarshalException |
createUnmarshalException(SAXException e)
SAXException から UnmarshalException を作成します。 |
|
|
getAdapter(Class<A> type)
指定した型に関連付けられているアダプタを取得します。 |
|
AttachmentUnmarshaller |
getAttachmentUnmarshaller()
|
|
ValidationEventHandler |
getEventHandler()
現在のイベントハンドラ、または、それが設定されていない場合はデフォルトイベントハンドラを返します。 |
|
Unmarshaller.Listener |
getListener()
この Unmarshaller に登録されている Unmarshaller.Listener を返します。 |
|
Object |
getProperty(String name)
必要なプロパティーがないため、getProperty メソッドのデフォルト実装は常に、PropertyException をスローします。 |
|
Schema |
getSchema()
非整列化時の検証に使用されている JAXP 1.3 Schema オブジェクトを取得します。 |
|
protected XMLReader |
getXMLReader()
設定された XMLReader を取得します。 |
|
boolean |
isValidating()
非整列化操作中に検証するように Unmarshaller が設定されているかどうかを示します。 |
|
|
setAdapter(Class<A> type,
A adapter)
XmlAdapter の設定済みのインスタンスをこの Unmarshaller に関連付けます。 |
|
void |
setAdapter(XmlAdapter adapter)
XmlAdapter の設定済みのインスタンスをこの Unmarshaller に関連付けます。 |
|
void |
setAttachmentUnmarshaller(AttachmentUnmarshaller au)
cid、コンテンツ ID URI を、添付として渡されたバイナリデータに解決するコンテキストを関連付けます。 |
|
void |
setEventHandler(ValidationEventHandler handler)
アプリケーションが検証イベントハンドラを登録することができます。 |
|
void |
setListener(Unmarshaller.Listener listener)
この Unmarshaller に非整列化イベントコールバック Unmarshaller.Listener を登録します。 |
|
void |
setProperty(String name,
Object value)
必要なプロパティーがないため、setProperty メソッドのデフォルト実装は常に、PropertyException をスローします。 |
|
void |
setSchema(Schema schema)
後の非整列化操作の検証に使用する、JAXP 1.3 Schema オブジェクトを指定します。 |
|
void |
setValidating(boolean validating)
非整列化操作中に Unmarshaller が検証を行うかどうかを指定します。 |
|
Object |
unmarshal(File f)
指定されたファイルから XML データを非整列化し、結果のコンテンツツリーを返します。 |
|
Object |
unmarshal(InputSource source)
指定された SAX InputSource から XML データを非整列化し、結果のコンテンツツリーを返します。 |
|
Object |
unmarshal(InputStream is)
指定された InputStream から XML データを非整列化し、結果のコンテンツツリーを返します。 |
|
|
unmarshal(Node node,
Class<T> expectedType)
JAXB マップ declaredType によって XML データを非整列化し、結果のコンテンツツリーを返します。 |
|
Object |
unmarshal(Reader reader)
指定された Reader から XML データを非整列化し、結果のコンテンツツリーを返します。 |
|
Object |
unmarshal(Source source)
指定された XML Source から XML データを非整列化し、結果のコンテンツツリーを返します。 |
|
|
unmarshal(Source source,
Class<T> expectedType)
declaredType に基づき、指定された XML Source から XML データを非整列化し、結果のコンテンツツリーを返します。 |
|
Object |
unmarshal(URL url)
指定された URL から XML データを非整列化し、結果のコンテンツツリーを返します。 |
|
Object |
unmarshal(XMLEventReader reader)
指定されたプルパーサーから XML データを非整列化し、結果のコンテンツツリーを返します。 |
|
|
unmarshal(XMLEventReader reader,
Class<T> expectedType)
JAXB マップ declaredType にルート要素を非整列化し、結果のコンテンツツリーを返します。 |
|
protected abstract Object |
unmarshal(XMLReader reader,
InputSource source)
指定した XMLReader と InputSource を使用して、オブジェクトを非整列化します。 |
|
Object |
unmarshal(XMLStreamReader reader)
指定されたプルパーサーから XML データを非整列化し、結果のコンテンツツリーを返します。 |
|
|
unmarshal(XMLStreamReader reader,
Class<T> expectedType)
JAXB マップ declaredType にルート要素を非整列化し、結果のコンテンツツリーを返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
インタフェース javax.xml.bind.Unmarshaller から継承されたメソッド |
---|
getUnmarshallerHandler, unmarshal |
フィールドの詳細 |
---|
protected boolean validating
コンストラクタの詳細 |
---|
public AbstractUnmarshallerImpl()
メソッドの詳細 |
---|
protected XMLReader getXMLReader() throws JAXBException
SAXSource
オブジェクトに XMLReader がない場合に使用されます。
Unmarshaller
は再入不可能なため、XMLReader の単一のインスタンスのみが使用されます。
JAXBException
public Object unmarshal(Source source) throws JAXBException
Unmarshaller
の記述:グローバルルート要素の非整列化を実装します。
クライアントアプリケーションは、その JAXB プロバイダで提供されているデフォルトパーサー機構を使用しないことを選択できます。任意の SAX 2.0 準拠パーサーを、JAXB プロバイダのデフォルト機構に置換することができます。これを行うため、クライアントアプリケーションは、SAX 2.0 パーサープロバイダが実装している XMLReader を含む SAXSource を適切に設定する必要があります。XMLReader に org.xml.sax.ErrorHandler が登録されている場合、それが JAXB プロバイダによって置き換えられ、検証エラーは JAXB の ValidationEventHandler 機構を介して報告される可能性があります。SAXSource に XMLReader が含まれない場合、JAXB プロバイダのデフォルトパーサー機構が使用されます。
このパーサー置換機構は、JAXB プロバイダの非整列化時の検証エンジンの置換にも使用できます。クライアントアプリケーションは、(前述の例に示したように) その SAX 2.0 準拠パーサーが検証を実行するように適切に設定する必要があります。非整列化操作中にパーサーが SAXParserExceptions に遭遇すると、JAXB プロバイダがそれを処理し、JAXB ValidationEvent オブジェクトに変換されます。このオブジェクトは、Unmarshaller に登録されている ValidationEventHandler を介してクライアントに報告されます。注: 非整列化に代替の検証 SAX 2.0 パーサーを指定した場合でも、オンデマンドの検証を実行するために JAXB プロバイダが使用する検証エンジンは必ずしも置き換えられません。
非整列化中に使用される別のパーサー機構をクライアントアプリケーションが指定できる唯一の方法は、unmarshal(SAXSource) API を介する方法です。非整列化メソッドの他のすべての形式 (File、URL、Node など) は、JAXB プロバイダのデフォルトのパーサーとバリデータ機構を使用します。
Unmarshaller
内の unmarshal
source
- 非整列化する XML データが含まれる XML Source (プロバイダは、
SAXSource、DOMSource、StreamSource をサポートする必要があるのみ)
JAXBException
- 非整列化の実行中に予想外のエラーが発生した場合
UnmarshalException
- ValidationEventHandler
の
handleEvent メソッドから false が返されるか、または
Unmarshaller が XML から Java へのバインディングを実行
できない場合。「XML データの非整列化」を参照Unmarshaller.unmarshal(javax.xml.transform.Source, Class)
protected abstract Object unmarshal(XMLReader reader, InputSource source) throws JAXBException
JAXBException
public final Object unmarshal(InputSource source) throws JAXBException
Unmarshaller
の記述:グローバルルート要素の非整列化を実装します。
Unmarshaller
内の unmarshal
source
- 非整列化する XML データが含まれる入力ソース
JAXBException
- 非整列化の実行中に予想外のエラーが発生した場合
UnmarshalException
- ValidationEventHandler
の
handleEvent メソッドから false が返されるか、または
Unmarshaller が XML から Java へのバインディングを実行
できない場合。「XML データの非整列化」を参照public final Object unmarshal(URL url) throws JAXBException
Unmarshaller
の記述:グローバルルート要素の非整列化を実装します。
Unmarshaller
内の unmarshal
url
- 非整列化する XML データが含まれる URL
JAXBException
- 非整列化の実行中に予想外のエラーが発生した場合
UnmarshalException
- ValidationEventHandler
の
handleEvent メソッドから false が返されるか、または
Unmarshaller が XML から Java へのバインディングを実行
できない場合。「XML データの非整列化」を参照public final Object unmarshal(File f) throws JAXBException
Unmarshaller
の記述:グローバルルート要素の非整列化を実装します。
Unmarshaller
内の unmarshal
f
- 非整列化する XML データが含まれるファイル
JAXBException
- 非整列化の実行中に予想外のエラーが発生した場合
UnmarshalException
- ValidationEventHandler
の
handleEvent メソッドから false が返されるか、または
Unmarshaller が XML から Java へのバインディングを実行
できない場合。「XML データの非整列化」を参照public final Object unmarshal(InputStream is) throws JAXBException
Unmarshaller
の記述:グローバルルート要素の非整列化を実装します。
Unmarshaller
内の unmarshal
is
- 非整列化する XML データが含まれる InputStream
JAXBException
- 非整列化の実行中に予想外のエラーが発生した場合
UnmarshalException
- ValidationEventHandler
の
handleEvent メソッドから false が返されるか、または
Unmarshaller が XML から Java へのバインディングを実行
できない場合。「XML データの非整列化」を参照public final Object unmarshal(Reader reader) throws JAXBException
Unmarshaller
の記述:グローバルルート要素の非整列化を実装します。
Unmarshaller
内の unmarshal
reader
- 非整列化する XML データが含まれる Reader
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 メソッドを呼び出している途中で検証エラーが発生した場合、JAXB プロバイダによって呼び出されます。非整列化メソッドを呼び出す前に、クライアントアプリケーションが検証イベントハンドラを登録しなかった場合、すべての検証イベントは通知されることなく無視され、予想外の動作を引き起こす可能性があります。
Unmarshaller
内の setEventHandler
handler
- 検証イベントハンドラ
JAXBException
- イベントハンドラの設定中にエラーが発生した場合public void setValidating(boolean validating) throws JAXBException
このメソッドは、非整列化メソッドのいずれかを呼び出す前、または呼び出したあとに、呼び出すことができます。
Unmarshaller
内の setValidating
validating
- Unmarshaller が非整列化中に検証すべき場合、true
それ以外の場合、false
JAXBException
- 非整列化時の検証を有効または無効にしている途中で
エラーが発生した場合public ValidationEventHandler getEventHandler() throws JAXBException
Unmarshaller
内の getEventHandler
JAXBException
- 現在のイベントハンドラの取得中にエラーが発生した場合protected UnmarshalException createUnmarshalException(SAXException e)
プロバイダが実装した ContentHandler が JAXBException をスローすることを望む場合、SAXException によってその例外をラップする必要があります。unmarshaller 実装が JAXBException によって SAXException をやみくもにラップした場合、こうした例外がほかの JAXBException によってラップされた SAXException によってラップされた JAXBException になります。これは非常に無益です。
このメソッドは、SAXException の入れ子の例外をチェックし、こうした過剰なラップを排除します。
public void setProperty(String name, Object value) throws PropertyException
Unmarshaller
内の setProperty
name
- 設定するプロパティーの名前。この値は、定数フィールドの 1 つか
ユーザー指定文字列を使用して指定できるvalue
- 設定するプロパティーの値
PropertyException
- 与えられたプロパティーまたは値の処理中にエラーが
発生した場合public Object getProperty(String name) throws PropertyException
Unmarshaller
内の getProperty
name
- 取得するプロパティーの名前
PropertyException
- 指定したプロパティー、またはプロパティー名値の取得中にエラーが発生
した場合public Object unmarshal(XMLEventReader reader) throws JAXBException
Unmarshaller
の記述:このメソッドは、グローバルルートの非整列化メソッドです。
このメソッドは、パーサーでの START_DOCUMENT または START_ELEMENT イベントの発生を前提としています。非整列化は、この start イベントから、対応する end イベントまでの間に実行されます。このメソッドが正常な結果を返す場合、reader は、end イベントの直後のトークンをポイントします。
Unmarshaller
内の unmarshal
reader
- 読み込まれるパーサー
JAXBException
- 非整列化の実行中に予想外のエラーが発生した場合
UnmarshalException
- ValidationEventHandler
の
handleEvent メソッドから false が返されるか、または
Unmarshaller が XML から Java へのバインディングを実行
できない場合。「XML データの非整列化」を参照Unmarshaller.unmarshal(javax.xml.stream.XMLEventReader, Class)
public Object unmarshal(XMLStreamReader reader) throws JAXBException
Unmarshaller
の記述:グローバルルート要素の非整列化を実装します。
このメソッドは、パーサーでの START_DOCUMENT または START_ELEMENT イベントの発生を前提としています。非整列化は、この start イベントから、対応する end イベントまでの間に実行されます。このメソッドが正常な結果を返す場合、reader は、end イベントの直後のトークンをポイントします。
Unmarshaller
内の unmarshal
reader
- 読み込まれるパーサー
JAXBException
- 非整列化の実行中に予想外のエラーが発生した場合
UnmarshalException
- ValidationEventHandler
の
handleEvent メソッドから false が返されるか、または
Unmarshaller が XML から Java へのバインディングを実行
できない場合。「XML データの非整列化」を参照Unmarshaller.unmarshal(javax.xml.stream.XMLStreamReader, Class)
public <T> JAXBElement<T> unmarshal(Node node, Class<T> expectedType) throws JAXBException
Unmarshaller
の記述:「宣言型による非整列化」を実装します。
Unmarshaller
内の unmarshal
node
- 非整列化する XML データが含まれる文書または要素。
呼び出し側は最低限、文書と要素をサポートする必要があるexpectedType
- node の XML データを保持する、適切な JAXB マップクラス
JAXBException
- 非整列化の実行中に予想外のエラーが発生した場合
UnmarshalException
- ValidationEventHandler
の
handleEvent メソッドから false が返されるか、または
Unmarshaller が XML から Java へのバインディングを実行
できない場合。「XML データの非整列化」を参照public <T> JAXBElement<T> unmarshal(Source source, Class<T> expectedType) throws JAXBException
Unmarshaller
の記述:「宣言型による非整列化」を実装します。
「プラグイン可能な SAX 2.0 パーサー」を参照してください。
Unmarshaller
内の unmarshal
source
- 非整列化する XML データが含まれる XML Source (プロバイダは、
SAXSource、DOMSource、StreamSource をサポートする必要があるのみ)expectedType
- source の XML ルート要素を保持する、適切な JAXB マップクラス
JAXBException
- 非整列化の実行中に予想外のエラーが発生した場合
UnmarshalException
- ValidationEventHandler
の
handleEvent メソッドから false が返されるか、または
Unmarshaller が XML から Java へのバインディングを実行
できない場合。「XML データの非整列化」を参照public <T> JAXBElement<T> unmarshal(XMLStreamReader reader, Class<T> expectedType) throws JAXBException
Unmarshaller
の記述:このメソッドは、宣言型による非整列化を実装します。
このメソッドは、パーサーでの START_DOCUMENT または START_ELEMENT イベントの発生を前提としています。非整列化は、この start イベントから、対応する end イベントまでの間に実行されます。このメソッドが正常な結果を返す場合、reader は、end イベントの直後のトークンをポイントします。
Unmarshaller
内の unmarshal
reader
- 読み込まれるパーサーexpectedType
- reader の START_ELEMENT XML データを保持する、適切な JAXB マップクラス
JAXBException
- 非整列化の実行中に予想外のエラーが発生した場合
UnmarshalException
- ValidationEventHandler
の
handleEvent メソッドから false が返されるか、または
Unmarshaller が XML から Java へのバインディングを実行
できない場合。「XML データの非整列化」を参照public <T> JAXBElement<T> unmarshal(XMLEventReader reader, Class<T> expectedType) throws JAXBException
Unmarshaller
の記述:このメソッドは、宣言型による非整列化を実装します。
このメソッドは、パーサーでの START_DOCUMENT または START_ELEMENT イベントの発生を前提としています。非整列化は、この start イベントから、対応する end イベントまでの間に実行されます。このメソッドが正常な結果を返す場合、reader は、end イベントの直後のトークンをポイントします。
Unmarshaller
内の unmarshal
reader
- 読み込まれるパーサーexpectedType
- reader の START_ELEMENT XML データを保持する、適切な JAXB マップクラス
JAXBException
- 非整列化の実行中に予想外のエラーが発生した場合
UnmarshalException
- ValidationEventHandler
の
handleEvent メソッドから false が返されるか、または
Unmarshaller が XML から Java へのバインディングを実行
できない場合。「XML データの非整列化」を参照public void setSchema(Schema schema)
Unmarshaller
の記述:Schema
オブジェクトを指定します。このメソッドに null を渡すと、検証は無効になります。
このメソッドは、推奨されなくなった setValidating(boolean)
API に置き換わるものです。
このプロパティーは最初に null に設定されます。
Unmarshaller
内の setSchema
schema
- 非整列化操作の検証に使用するスキーマオブジェクト。検証を無効にする場合は nullpublic Schema getSchema()
Unmarshaller
の記述:Schema
オブジェクトを取得します。Unmarshaller にスキーマが設定されていない場合、このメソッドは、非整列化時に検証を実行しないことを示す、null を返します。
このメソッドは、推奨されなくなった Unmarshaller.isValidating()
API に置き換わるとともに、Schema オブジェクトへのアクセスを提供します。Unmarshaller が検証を有効にしているかどうかを判断するには、戻り値の型と null を照らし合わせてチェックすれば簡単にわかります。
boolean isValidating = u.getSchema()!=null;
Unmarshaller
内の getSchema
public void setAdapter(XmlAdapter adapter)
Unmarshaller
の記述:XmlAdapter
の設定済みのインスタンスをこの Unmarshaller に関連付けます。
これは、setAdapter(adapter.getClass(),adapter);
を呼び出す簡易メソッドです。
Unmarshaller
内の setAdapter
Unmarshaller.setAdapter(Class,XmlAdapter)
public <A extends XmlAdapter> void setAdapter(Class<A> type, A adapter)
Unmarshaller
の記述:XmlAdapter
の設定済みのインスタンスをこの Unmarshaller に関連付けます。
すべての Unmarshaller は、内部的に Map
<Class
,XmlAdapter
> を保持しており、フィールドまたはメソッドが XmlJavaTypeAdapter
で注釈されたクラスを非整列化するために使用します。
このメソッドにより、アプリケーションは XmlAdapter
の設定済みのインスタンスを使用することができます。アダプタのインスタンスが与えられない場合、Unmarshaller はそのデフォルトコンストラクタを呼び出してインスタンスを作成します。
Unmarshaller
内の setAdapter
type
- アダプタの型。XmlJavaTypeAdapter.value()
がこの型を参照している場合、指定されたインスタンスが使用されるadapter
- 使用するアダプタのインスタンス。null の場合、この型の現在のアダプタ
セットの登録を取り消すpublic <A extends XmlAdapter> A getAdapter(Class<A> type)
Unmarshaller
の記述:Unmarshaller.setAdapter(javax.xml.bind.annotation.adapters.XmlAdapter)
メソッドの逆の操作です。
Unmarshaller
内の getAdapter
public void setAttachmentUnmarshaller(AttachmentUnmarshaller au)
Unmarshaller
の記述:cid、コンテンツ ID URI を、添付として渡されたバイナリデータに解決するコンテキストを関連付けます。
非整列化時の検証は、Unmarshaller.setSchema(Schema)
を介して有効化され、Unmarshaller が XOP 処理を実行する場合でもサポートする必要があります。
Unmarshaller
内の setAttachmentUnmarshaller
public AttachmentUnmarshaller getAttachmentUnmarshaller()
Unmarshaller
内の getAttachmentUnmarshaller
public void setListener(Unmarshaller.Listener listener)
Unmarshaller
の記述:
この Unmarshaller
に非整列化イベントコールバック Unmarshaller.Listener
を登録します。
各 Unmarshaller に Listener は 1 つだけです。Listener を設定すると、前に設定されていた Listener と置き換わります。Listener に null を設定することにより、現在の Listener の登録を解除できます。
Unmarshaller
内の setListener
listener
- この Unmarshaller
に非整列化イベントコールバックを提供するpublic Unmarshaller.Listener getListener()
Unmarshaller
の記述:この Unmarshaller
に登録されている Unmarshaller.Listener
を返します。
Unmarshaller
内の getListener
Unmarshaller.Listener
、または、この Unmarshaller に登録されている Listener がない場合、null
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。