- java.lang.Object
-
- javax.xml.bind.helpers.AbstractUnmarshallerImpl
-
- すべての実装されたインタフェース:
Unmarshaller
public abstract class AbstractUnmarshallerImpl extends Object implements Unmarshaller
部分的なデフォルトUnmarshaller実装です。このクラスは、
Unmarshallerインタフェースの部分的なデフォルト実装を提供します。JAXBプロバイダは、getUnmarshallerHandler、unmarshal(Node)、unmarshal(XMLReader,InputSource)、unmarshal(XMLStreamReader)、およびunmarshal(XMLEventReader)の5つのメソッドを実装する必要があります。
- 導入されたバージョン:
- 1.6, JAXB 1.0
- 関連項目:
Unmarshaller
-
-
ネストされたクラスのサマリー
-
インタフェース javax.xml.bind.Unmarshallerで宣言されたネストされたクラス/インタフェース
Unmarshaller.Listener
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected booleanvalidatingunmarshallerが検証を行うかどうか
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 AbstractUnmarshallerImpl()
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 protected UnmarshalExceptioncreateUnmarshalException(SAXException e)SAXExceptionからUnmarshalExceptionを作成します。ValidationEventHandlergetEventHandler()現在のイベント・ハンドラ、または、それが設定されていない場合はデフォルト・イベント・ハンドラを返します。ObjectgetProperty(String name)必要なプロパティがないため、getPropertyメソッドのデフォルト実装は常に、PropertyExceptionをスローします。protected XMLReadergetXMLReader()設定されたXMLReaderを取得します。booleanisValidating()非整列化操作中に検証するようにUnmarshallerが設定されているかどうかを示します。voidsetEventHandler(ValidationEventHandler handler)アプリケーションが検証イベント・ハンドラを登録することができます。voidsetProperty(String name, Object value)必要なプロパティがないため、setPropertyメソッドのデフォルト実装は常に、PropertyExceptionをスローします。voidsetValidating(boolean validating)非整列化操作中にUnmarshallerが検証を行うかどうかを指定します。protected abstract Objectunmarshal(XMLReader reader, InputSource source)指定したXMLReaderとInputSourceを使用して、オブジェクトを非整列化します。-
クラス java.lang.Objectで宣言されたメソッド
clone、equals、finalize、getClass、hashCode、notify、notifyAll、toString、wait、wait、wait
-
インタフェース javax.xml.bind.Unmarshallerで宣言されたメソッド
getAdapter, getListener, getSchema, getUnmarshallerHandler, setAdapter, setAdapter, setAttachmentUnmarshaller, setListener, setSchema, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal
-
-
-
-
メソッドの詳細
-
getXMLReader
protected XMLReader getXMLReader() throws JAXBException
設定されたXMLReaderを取得します。 このメソッドは、クライアントが指定したSAXSourceオブジェクトにXMLReaderがない場合に使用されます。Unmarshallerは再入不可能なため、XMLReaderの単一のインスタンスのみが使用されます。- 例外:
JAXBException
-
unmarshal
protected abstract Object unmarshal(XMLReader reader, InputSource source) throws JAXBException
指定したXMLReaderとInputSourceを使用して、オブジェクトを非整列化します。 呼び出される側は、XMLReaderのsetErrorHandlerメソッドを呼び出し、エラーがクライアント指定のValidationEventHandlerに渡されるようにしてください。- 例外:
JAXBException
-
isValidating
public boolean isValidating() throws JAXBException非整列化操作中に検証するようにUnmarshallerが設定されているかどうかを示します。注: getValidating()に対して、JAXPに合わせてisValidating()というメソッド名にしました。
- 定義:
isValidating、インタフェース:Unmarshaller- 戻り値:
- Unmarshallerが非整列化操作中に検証を行うように設定されている場合はtrue、それ以外の場合はfalse
- 例外:
JAXBException- 検証フラグの取得中にエラーが発生した場合
-
setEventHandler
public void setEventHandler(ValidationEventHandler handler) throws JAXBException
アプリケーションが検証イベント・ハンドラを登録することができます。検証イベント・ハンドラは、いずれかの
unmarshalメソッドを呼び出している途中で検証エラーが発生した場合、JAXBプロバイダによって呼び出されます。 非整列化メソッドを呼び出す前に、クライアント・アプリケーションが検証イベント・ハンドラを登録しなかった場合、すべての検証イベントは通知されることなく無視され、予想外の動作を引き起こす可能性があります。- 定義:
setEventHandler、インタフェース:Unmarshaller- パラメータ:
handler- 検証イベント・ハンドラ- 例外:
JAXBException- イベント・ハンドラの設定中にエラーが発生した場合
-
setValidating
public void setValidating(boolean validating) throws JAXBException非整列化操作中にUnmarshallerが検証を行うかどうかを指定します。 デフォルトでは、Unmarshallerは検証を行いません。このメソッドは、非整列化メソッドのいずれかを呼び出す前、または呼び出したあとにのみ、呼び出すことができます。
- 定義:
setValidating、インタフェース:Unmarshaller- パラメータ:
validating- Unmarshallerが非整列化中に検証を行うようにする場合はtrue、それ以外の場合はfalse- 例外:
JAXBException- 非整列化時の検証を有効または無効にしている途中でエラーが発生した場合
-
getEventHandler
public ValidationEventHandler getEventHandler() throws JAXBException
現在のイベント・ハンドラ、または、それが設定されていない場合はデフォルト・イベント・ハンドラを返します。- 定義:
getEventHandler、インタフェース:Unmarshaller- 戻り値:
- 現在のValidationEventHandler。それが設定されていない場合はデフォルト・イベント・ハンドラ
- 例外:
JAXBException- 現在のイベント・ハンドラの取得中にエラーが発生した場合
-
createUnmarshalException
protected UnmarshalException createUnmarshalException(SAXException e)
SAXExceptionからUnmarshalExceptionを作成します。 これは、派生クラスに提供されるユーティリティ・メソッドです。プロバイダが実装したContentHandlerがJAXBExceptionをスローすることを望む場合、SAXExceptionによってその例外をラップする必要があります。 unmarshaller実装がJAXBExceptionによってSAXExceptionをやみくもにラップした場合、こうした例外がほかのJAXBExceptionによってラップされたSAXExceptionによってラップされたJAXBExceptionになります。 これは非常に無益です。
このメソッドは、SAXExceptionの入れ子の例外をチェックし、こうした過剰なラップを排除します。
- 戻り値:
- 結果として得られるUnmarshalException
-
setProperty
public void setProperty(String name, Object value) throws PropertyException
必要なプロパティがないため、setPropertyメソッドのデフォルト実装は常に、PropertyExceptionをスローします。 プロバイダは追加プロパティを扱う必要がある場合、派生クラスでこのメソッドをオーバーライドするようにしてください。- 定義:
setProperty、インタフェース:Unmarshaller- パラメータ:
name- 設定するプロパティの名前。 この値は、定数フィールドの1つかユーザーが指定した文字列を使用して指定できる。value- 設定するプロパティの値- 例外:
PropertyException- 指定したプロパティまたは値の処理中にエラーが発生した場合
-
getProperty
public Object getProperty(String name) throws PropertyException
必要なプロパティがないため、getPropertyメソッドのデフォルト実装は常に、PropertyExceptionをスローします。 プロバイダは追加プロパティを扱う必要がある場合、派生クラスでこのメソッドをオーバーライドするようにしてください。- 定義:
getProperty、インタフェース:Unmarshaller- パラメータ:
name- 取得するプロパティの名前- 戻り値:
- 要求されたプロパティの値
- 例外:
PropertyException- 指定したプロパティまたは値プロパティ名の取得中にエラーが発生した場合
-
-