インターフェース Configuration<T extends Configuration<T>>
- 型パラメーター:
T
- この契約のプロバイダー固有の特殊化の型
public interface Configuration<T extends Configuration<T>>
構成情報を受け取り、適切な Jakarta Bean Validation プロバイダーを選択し、適切なValidatorFactory
をビルドします。使用法:
//provided by one of the Validation bootstrap methods Configuration<?> configuration = ValidatorFactory = configuration .messageInterpolator( new CustomMessageInterpolator() ) .buildValidatorFactory();
デフォルトでは、構成情報は
META-INF/validation.xml
から取得されます。1 つ以上のConfiguration
メソッドを使用して、XML ファイルから取得した構成を上書きすることが可能です。ValidationProviderResolver
は構成時に指定されます(ValidationProvider
を参照)。明示的にリクエストされていない場合は、デフォルトのValidationProviderResolver
が使用されます。プロバイダーは次の方法で選択されます。
- 特定のプロバイダーが
Validation.byProvider(Class)
を使用してプログラムでリクエストされた場合、リクエストされたプロバイダークラスを実装する最初のプロバイダーを見つけて使用します。 META-INF/validation.xml
で特定のプロバイダーがリクエストされた場合は、リクエストされたプロバイダークラスを実装する最初のプロバイダーを見つけて使用します。- それ以外の場合は、
ValidationProviderResolver
によって返された最初のプロバイダーを使用します
実装はスレッドセーフであることを意図していません。
- 作成者:
- Emmanuel Bernard, Gunnar Morling, Hardy Ferentschik, Guillaume Smet
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 T
addMapping(InputStreamSE stream)
Jakarta Bean Validation XML 形式で制約マッピングを記述するストリームを追加します。T
addProperty(StringSE name, StringSE value)
プロバイダー固有のプロパティを追加します。T
addValueExtractor(ValueExtractor<?> extractor)
値抽出機能を追加します。ValidatorFactory
buildValidatorFactory()
ValidatorFactory
実装を構築します。T
clockProvider(ClockProvider clockProvider)
クロックプロバイダーを定義します。T
constraintValidatorFactory(ConstraintValidatorFactory constraintValidatorFactory)
制約バリデータファクトリを定義します。BootstrapConfiguration
getBootstrapConfiguration()
META-INF/validation.xml
ファイルに保存されている構成情報を返します。ClockProvider
getDefaultClockProvider()
仕様で定義されているデフォルトのClockProvider
に続くClockProvider
インターフェースの実装を返します。現在のシステム時刻とデフォルトのタイムゾーンを表す監視を返します。ConstraintValidatorFactory
getDefaultConstraintValidatorFactory()
仕様で定義されているデフォルトのConstraintValidatorFactory
に続くConstraintValidatorFactory
インターフェースの実装を返します。ConstraintValidator
の引数なしの public コンストラクターを使用しますMessageInterpolator
getDefaultMessageInterpolator()
仕様で定義されているデフォルトのMessageInterpolator
に続くMessageInterpolator
インターフェースの実装を返します。ValidationMessages
リソースバンドルを使用してキーをロードし、Locale.getDefault()
を使用します。ParameterNameProvider
getDefaultParameterNameProvider()
仕様で定義されているデフォルトのParameterNameProvider
に続くParameterNameProvider
インターフェースの実装を返します。実行可能ファイルのクラスファイルにパラメーター名情報が含まれている場合は、検証済みの実行可能ファイルの定義で提供されている実際のパラメーター名を返します。それ以外の場合はarg<PARAMETER_INDEX>
の形式で名前を返します。ここでPARAMETER_INDEX
最初のパラメーターは 0 から始まります。例:TraversableResolver
getDefaultTraversableResolver()
仕様で定義されているデフォルトのTraversableResolver
に続くTraversableResolver
インターフェースの実装を返します。JavaPersistence がランタイム環境で使用できる場合、Java Persistence がランタイム環境で使用できない場合に Java Persistence がプロパティをロード済みと見なすと、プロパティは到達可能と見なされます。すべてのプロパティは到達可能と見なされ、すべてのプロパティはカスケード可能と見なされます。T
ignoreXmlConfiguration()
このメソッドが呼び出された場合、META-INF/validation.xml
ファイルのデータを無視します。T
messageInterpolator(MessageInterpolator interpolator)
使用するメッセージ補間を定義します。T
parameterNameProvider(ParameterNameProvider parameterNameProvider)
パラメーター名プロバイダーを定義します。T
traversableResolver(TraversableResolver resolver)
使用される通過可能なリゾルバーを定義します。
メソッドの詳細
ignoreXmlConfiguration
T ignoreXmlConfiguration()
このメソッドが呼び出された場合、META-INF/validation.xml
ファイルのデータを無視します。このメソッドは通常、
META-INF/validation.xml
自体を解析し、Configuration
メソッドを介して情報を渡すコンテナーに役立ちます。- 戻り値:
- チェーン方式パターンに従う
this
。
messageInterpolator
T messageInterpolator(MessageInterpolator interpolator)
使用するメッセージ補間を定義します。設定ベースのメッセージ補間よりも優先されます。null
が渡されると、デフォルトのメッセージ補間が使用されます(XML で定義されているか、仕様のデフォルトです)。- パラメーター:
interpolator
- メッセージ補間機能の実装- 戻り値:
- チェーン方式パターンに従う
this
traversableResolver
T traversableResolver(TraversableResolver resolver)
使用される通過可能なリゾルバーを定義します。構成ベースの走査可能なリゾルバーよりも優先されます。null
が渡された場合、デフォルトの走査可能なリゾルバーが使用されます(XML または仕様のデフォルトで定義されています)。- パラメーター:
resolver
- 走査可能なリゾルバーの実装- 戻り値:
- チェーン方式パターンに従う
this
constraintValidatorFactory
T constraintValidatorFactory(ConstraintValidatorFactory constraintValidatorFactory)
制約バリデータファクトリを定義します。構成ベースの制約ファクトリよりも優先されます。null
が渡された場合、デフォルトの制約バリデーターファクトリが使用されます(XML または仕様のデフォルトで定義されています)。- パラメーター:
constraintValidatorFactory
- 制約ファクトリの実装- 戻り値:
- チェーン方式パターンに従う
this
parameterNameProvider
T parameterNameProvider(ParameterNameProvider parameterNameProvider)
パラメーター名プロバイダーを定義します。構成ベースのプロバイダーよりも優先されます。null
が渡された場合、デフォルトのパラメーター名プロバイダーが使用されます(XML または仕様のデフォルトで定義されています)。- パラメーター:
parameterNameProvider
- パラメーター名プロバイダーの実装- 戻り値:
- チェーン方式パターンに従う
this
。 - 導入:
- 1.1
clockProvider
T clockProvider(ClockProvider clockProvider)
クロックプロバイダーを定義します。構成ベースのプロバイダーよりも優先されます。null
が渡された場合、デフォルトのクロックプロバイダーが使用されます(XML または仕様のデフォルトで定義)。- パラメーター:
clockProvider
- クロックプロバイダーの実装- 戻り値:
- チェーン方式パターンに従う
this
。 - 導入:
- 2.0
addValueExtractor
T addValueExtractor(ValueExtractor<?> extractor)
値抽出機能を追加します。サービスローダーを通じて検出された、または XML 構成で指定された同じ型および型パラメーターの抽出よりも優先されます。- パラメーター:
extractor
- 値抽出の実装- 戻り値:
- チェーン方式パターンに従う
this
。 - 例外:
ValueExtractorDeclarationException
- 同じ型と型パラメーターに複数のエクストラクターが追加された場合- 導入:
- 2.0
addMapping
T addMapping(InputStreamSE stream)
Jakarta Bean Validation XML 形式で制約マッピングを記述するストリームを追加します。ValidatorFactory
が構築された後、ストリームはクライアント API によって閉じられる必要があります。Jakarta Bean Validation プロバイダーはストリームを閉じてはなりません。- パラメーター:
stream
- XML マッピングストリーム。指定されたストリームは、マーク / リセット契約をサポートする必要があります(InputStream.markSupported()
を参照)。そうでない場合は、Jakarta Bean Validation プロバイダーによってマーク / リセット契約をサポートするストリームにラップされます。- 戻り値:
- チェーン方式パターンに従う
this
- 例外:
IllegalArgumentExceptionSE
-stream
が null の場合
addProperty
T addProperty(StringSE name, StringSE value)
プロバイダー固有のプロパティを追加します。このプロパティは、XML 構成プロパティと同等です。基になるプロバイダーがプロパティの処理方法を知らない場合は、確認なしでそれを無視する必要があります。メモ: この型安全でない方法を使用することは、一般的には推奨されません。
可能な場合は、
Configuration
サブクラスを介して特定のプロバイダーによって提供される型安全な同等のものを使用する方が適切です。ValidatorFactory factory = Validation.byProvider(ACMEProvider.class) .configure() .providerSpecificProperty(ACMEState.FAST) .buildValidatorFactory();
このメソッドは通常、META-INF/validation.xml
自体を解析し、Configuration
オブジェクトに状態を注入するコンテナーによって使用されます。特定の名前のプロパティがこのメソッドと XML 構成の両方で定義されている場合、プログラムで設定された値が優先されます。
null
が値として渡される場合、XML で定義された値が使用されます。XML で値が定義されていない場合、プロパティは未設定と見なされます。- パラメーター:
name
- プロパティ名value
- プロパティ値- 戻り値:
- チェーン方式パターンに従う
this
- 例外:
IllegalArgumentExceptionSE
-name
が null の場合
getDefaultMessageInterpolator
MessageInterpolator getDefaultMessageInterpolator()
仕様で定義されているデフォルトのMessageInterpolator
に続くMessageInterpolator
インターフェースの実装を返します。ValidationMessages
リソースバンドルを使用してキーをロードするLocale.getDefault()
を使用
- 戻り値:
- 仕様に準拠したデフォルトの
MessageInterpolator
実装
getDefaultTraversableResolver
TraversableResolver getDefaultTraversableResolver()
仕様で定義されているデフォルトのTraversableResolver
に続くTraversableResolver
インターフェースの実装を返します。- ランタイム環境で Java Persistence が使用可能な場合、Java Persistence がプロパティをロード済みと見なすと、プロパティは到達可能と見なされます。
- ランタイム環境で Java Persistence が使用できない場合、すべてのプロパティは到達可能と見なされます
- すべてのプロパティはカスケード可能と見なされます。
- 戻り値:
- 仕様に準拠したデフォルトの
TraversableResolver
実装
getDefaultConstraintValidatorFactory
ConstraintValidatorFactory getDefaultConstraintValidatorFactory()
仕様で定義されているデフォルトのConstraintValidatorFactory
に続くConstraintValidatorFactory
インターフェースの実装を返します。ConstraintValidator
の引数なしの public コンストラクターを使用します
- 戻り値:
- 仕様に準拠したデフォルトの
ConstraintValidatorFactory
実装
getDefaultParameterNameProvider
ParameterNameProvider getDefaultParameterNameProvider()
仕様で定義されているデフォルトのParameterNameProvider
に続くParameterNameProvider
インターフェースの実装を返します。- 実行可能ファイルのクラスファイルにパラメーター名情報が含まれている場合、検証済みの実行可能ファイルの定義で提供されている実際のパラメーター名を返します
- それ以外の場合は、
arg<PARAMETER_INDEX>
の形式で名前を返します。PARAMETER_INDEX
は、最初のパラメーターの 0 から始まります。arg0
、arg1
など
- 戻り値:
- 仕様に準拠したデフォルトの
ParameterNameProvider
実装 - 導入:
- 1.1
getDefaultClockProvider
ClockProvider getDefaultClockProvider()
- 戻り値:
- 仕様に準拠したデフォルトの
ClockProvider
実装 - 導入:
- 2.0
getBootstrapConfiguration
BootstrapConfiguration getBootstrapConfiguration()
META-INF/validation.xml
ファイルに保存されている構成情報を返します。注 :
実装では、このオブジェクトを遅延してビルドして解析を遅延させることをお勧めします。- 戻り値:
BootstrapConfiguration
のインスタンスを返します。このメソッドはnull
を返しません。META-INF/validation.xml
がない場合、返されたインスタンスの異なる getter はそれぞれnull
を返し、空のセットまたはマップを返します。- 導入:
- 1.1
buildValidatorFactory
ValidatorFactory buildValidatorFactory()
ValidatorFactory
実装を構築します。- 戻り値:
ValidatorFactory
- 例外:
ValidationException
-ValidatorFactory
を構築できない場合