クラスTypeInfoProvider
ValidatorHandlerによって判定された型情報にアクセスできます。
W3C XML Schemaなどの一部のスキーマ言語では、バリデータで各属性および要素に割り当てる「型」を報告することが推奨されています。 この型情報にアクセスしようとするアプリケーションでは、この「インタフェース」に定義されたメソッドを呼び出してそれらの型情報にアクセスできます。
この「インタフェース」の実装はValidatorHandler.getTypeInfoProvider()メソッドによって取得できます。
- 導入されたバージョン:
- 1.5
- 関連項目:
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明abstract TypeInfogetAttributeTypeInfo(int index) 現在の要素の指定された属性の不変のTypeInfoオブジェクトを返します。abstract TypeInfo現在の要素の不変のTypeInfoオブジェクトを返します。abstract booleanisIdAttribute(int index) 指定された属性がIDであると判定された場合にtrueを返します。abstract booleanisSpecified(int index) 属性がバリデータによって追加された場合falseを返します。
-
コンストラクタの詳細
-
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を返します。属性が"IDとして決定"である正確な方法は、スキーマ言語に対応します。 W3C XML Schemaの場合は、属性の実際の型が組込み識別子型またはその派生型であれば、識別子と判定されます。
DocumentBuilderがAttr.isId()を適切に実装するためにこの情報を使用します。メソッドはアプリケーションで
ValidatorHandlerに設定したContentHandlerのstartElementイベントによってのみ呼び出すことができます。- パラメータ:
index- 属性のインデックス。startElementコールバックに渡されたAttributesオブジェクトの同じインデックス。- 戻り値:
- true指定された属性の型が識別子である場合。
- スロー:
IndexOutOfBoundsException- インデックスが無効な場合。IllegalStateException- このメソッドがほかのContentHandlerメソッドから呼び出された場合。
-
isSpecified
public abstract boolean isSpecified(int index) 属性がバリデータによって追加された場合falseを返します。このメソッドは
DocumentBuilderがAttr.getSpecified()メソッドから返す必要があるDOMツリーを特定するために必要な情報を提供します。メソッドはアプリケーションで
ValidatorHandlerに設定したContentHandlerのstartElementイベントによってのみ呼び出すことができます。バリデータの一般的なガイドラインは、属性が最初からパイプラインに存在していた場合trueを返し、バリデータによって追加された場合falseを返すことです。
- パラメータ:
index- 属性のインデックス。startElementコールバックに渡されたAttributesオブジェクトの同じインデックス。- 戻り値:
- バリデータが入力を処理する前から属性が存在していた場合は
true。属性がバリデータによって追加された場合はfalse。 - スロー:
IndexOutOfBoundsException- インデックスが無効な場合。IllegalStateException- このメソッドがほかのContentHandlerメソッドから呼び出された場合。
-