- 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 boolean
validating
unmarshallerが検証を行うかどうか
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 AbstractUnmarshallerImpl()
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 protected UnmarshalException
createUnmarshalException(SAXException e)
SAXExceptionからUnmarshalExceptionを作成します。ValidationEventHandler
getEventHandler()
現在のイベント・ハンドラ、または、それが設定されていない場合はデフォルト・イベント・ハンドラを返します。Object
getProperty(String name)
必要なプロパティがないため、getPropertyメソッドのデフォルト実装は常に、PropertyExceptionをスローします。protected XMLReader
getXMLReader()
設定されたXMLReaderを取得します。boolean
isValidating()
非整列化操作中に検証するようにUnmarshallerが設定されているかどうかを示します。void
setEventHandler(ValidationEventHandler handler)
アプリケーションが検証イベント・ハンドラを登録することができます。void
setProperty(String name, Object value)
必要なプロパティがないため、setPropertyメソッドのデフォルト実装は常に、PropertyExceptionをスローします。void
setValidating(boolean validating)
非整列化操作中にUnmarshallerが検証を行うかどうかを指定します。protected abstract Object
unmarshal(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
- 指定したプロパティまたは値プロパティ名の取得中にエラーが発生した場合
-
-