モジュール java.xml
パッケージ javax.xml.validation

クラスTypeInfoProvider

java.lang.Object
javax.xml.validation.TypeInfoProvider

public abstract class TypeInfoProvider
extends Object
このクラスはValidatorHandlerによって判定された型情報にアクセスできます。

W3C XML Schemaなどの一部のスキーマ言語では、バリデータで各属性および要素に割り当てる「型」を報告することが推奨されています。 この型情報にアクセスしようとするアプリケーションでは、この「インタフェース」に定義されたメソッドを呼び出してそれらの型情報にアクセスできます。

この「インタフェース」の実装はValidatorHandler.getTypeInfoProvider()メソッドによって取得できます。

導入されたバージョン:
1.5
関連項目:
TypeInfo
  • コンストラクタのサマリー

    コンストラクタ
    修飾子 コンストラクタ 説明
    protected TypeInfoProvider()
    派生クラスのコンストラクタです。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    abstract TypeInfo getAttributeTypeInfo​(int index)
    現在の要素の指定された属性の不変のTypeInfoオブジェクトを返します。
    abstract TypeInfo getElementTypeInfo()
    現在の要素の不変のTypeInfoオブジェクトを返します。
    abstract boolean isIdAttribute​(int index)
    指定された属性がIDであると判定された場合にtrueを返します。
    abstract boolean isSpecified​(int index)
    属性がバリデータによって追加された場合falseを返します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • TypeInfoProvider

      protected TypeInfoProvider()
      派生クラスのコンストラクタです。

      このコンストラクタは何も行いません。

  • メソッドの詳細

    • getElementTypeInfo

      public abstract TypeInfo getElementTypeInfo()

      現在の要素の不変のTypeInfoオブジェクトを返します。

      メソッドはアプリケーションでValidatorHandlerに設定したContentHandlerのstartElementイベントまたはendElementイベントによってのみ呼び出すことができます。

      W3C XML Schema検証の実行中、要素がunion型を持つ場合、startElementイベントからのgetElementTypeInfo()の呼出しによって返されるTypeInfoはunion型になります。 endElementイベントからの呼出しによって返されたTypeInfoは、要素を検証するために使用される実際のメンバー型になります。

      戻り値:
      現在の要素の型を表す不変のTypeInfoオブジェクト。 呼出し側は取得したTypeInfoへの参照をコールバック・スコープより長く保持できる。 または、バリデータが何らかの理由(たとえばバリデータが以前のエラーから回復中である場合など)により、現在の要素の型を判定できない場合、このメソッドはnullを返す
      例外:
      IllegalStateException - このメソッドがほかのContentHandlerメソッドから呼び出された場合。
    • getAttributeTypeInfo

      public abstract TypeInfo getAttributeTypeInfo​(int index)
      現在の要素の指定された属性の不変のTypeInfoオブジェクトを返します。

      メソッドはアプリケーションでValidatorHandlerに設定したContentHandlerのstartElementイベントによってのみ呼び出すことができます。

      パラメータ:
      index - 属性のインデックス。 startElementコールバックに渡されたAttributesオブジェクトの同じインデックス。
      戻り値:
      指定した属性の型を表す不変のTypeInfoオブジェクト。 呼出し側は取得したTypeInfoへの参照をコールバック・スコープより長く保持できる。 または、バリデータが型を判定できない場合、このメソッドはnullを返す。
      例外:
      IndexOutOfBoundsException - インデックスが無効な場合。
      IllegalStateException - このメソッドがほかのContentHandlerメソッドから呼び出された場合。
    • isIdAttribute

      public abstract boolean isIdAttribute​(int index)
      指定された属性がIDであると判定された場合にtrueを返します。

      属性がどのようにして「識別子と判定される」かは、スキーマ言語により異なります。 W3C XML Schemaの場合は、属性の実際の型が組込み識別子型またはその派生型であれば、識別子と判定されます。

      DocumentBuilderAttr.isId()を適切に実装するためにこの情報を使用します。

      メソッドはアプリケーションでValidatorHandlerに設定したContentHandlerのstartElementイベントによってのみ呼び出すことができます。

      パラメータ:
      index - 属性のインデックス。 startElementコールバックに渡されたAttributesオブジェクトの同じインデックス。
      戻り値:
      true指定された属性の型が識別子である場合。
      例外:
      IndexOutOfBoundsException - インデックスが無効な場合。
      IllegalStateException - このメソッドがほかのContentHandlerメソッドから呼び出された場合。
    • isSpecified

      public abstract boolean isSpecified​(int index)
      属性がバリデータによって追加された場合falseを返します。

      このメソッドはDocumentBuilderAttr.getSpecified()メソッドから返す必要があるDOMツリーを特定するために必要な情報を提供します。

      メソッドはアプリケーションでValidatorHandlerに設定したContentHandlerのstartElementイベントによってのみ呼び出すことができます。

      バリデータの一般的なガイドラインは、属性が最初からパイプラインに存在していた場合trueを返し、バリデータによって追加された場合falseを返すことです。

      パラメータ:
      index - 属性のインデックス。 startElementコールバックに渡されたAttributesオブジェクトの同じインデックス。
      戻り値:
      バリデータが入力を処理する前から属性が存在していた場合はtrue。属性がバリデータによって追加された場合はfalse
      例外:
      IndexOutOfBoundsException - インデックスが無効な場合。
      IllegalStateException - このメソッドがほかのContentHandlerメソッドから呼び出された場合。