モジュール java.xml.bind
パッケージ 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
    • フィールドの詳細

      • validating

        protected boolean validating
        unmarshallerが検証を行うかどうか
    • コンストラクタの詳細

      • AbstractUnmarshallerImpl

        public AbstractUnmarshallerImpl()
    • メソッドの詳細

      • 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 - 指定したプロパティまたは値プロパティ名の取得中にエラーが発生した場合