インターフェース 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
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 TaddMapping(InputStreamSE stream)Jakarta Bean Validation XML 形式で制約マッピングを記述するストリームを追加します。TaddProperty(StringSE name, StringSE value)プロバイダー固有のプロパティを追加します。TaddValueExtractor(ValueExtractor<?> extractor)値抽出機能を追加します。ValidatorFactorybuildValidatorFactory()ValidatorFactory実装を構築します。TclockProvider(ClockProvider clockProvider)クロックプロバイダーを定義します。TconstraintValidatorFactory(ConstraintValidatorFactory constraintValidatorFactory)制約バリデータファクトリを定義します。BootstrapConfigurationgetBootstrapConfiguration()META-INF/validation.xmlファイルに保存されている構成情報を返します。ClockProvidergetDefaultClockProvider()仕様で定義されているデフォルトのClockProviderに続くClockProviderインターフェースの実装を返します。現在のシステム時刻とデフォルトのタイムゾーンを表す監視を返します。ConstraintValidatorFactorygetDefaultConstraintValidatorFactory()仕様で定義されているデフォルトのConstraintValidatorFactoryに続くConstraintValidatorFactoryインターフェースの実装を返します。ConstraintValidatorの引数なしの public コンストラクターを使用しますMessageInterpolatorgetDefaultMessageInterpolator()仕様で定義されているデフォルトのMessageInterpolatorに続くMessageInterpolatorインターフェースの実装を返します。ValidationMessagesリソースバンドルを使用してキーをロードし、Locale.getDefault()を使用します。ParameterNameProvidergetDefaultParameterNameProvider()仕様で定義されているデフォルトのParameterNameProviderに続くParameterNameProviderインターフェースの実装を返します。実行可能ファイルのクラスファイルにパラメーター名情報が含まれている場合は、検証済みの実行可能ファイルの定義で提供されている実際のパラメーター名を返します。それ以外の場合はarg<PARAMETER_INDEX>の形式で名前を返します。ここでPARAMETER_INDEX最初のパラメーターは 0 から始まります。例:TraversableResolvergetDefaultTraversableResolver()仕様で定義されているデフォルトのTraversableResolverに続くTraversableResolverインターフェースの実装を返します。JavaPersistence がランタイム環境で使用できる場合、Java Persistence がランタイム環境で使用できない場合に Java Persistence がプロパティをロード済みと見なすと、プロパティは到達可能と見なされます。すべてのプロパティは到達可能と見なされ、すべてのプロパティはカスケード可能と見なされます。TignoreXmlConfiguration()このメソッドが呼び出された場合、META-INF/validation.xmlファイルのデータを無視します。TmessageInterpolator(MessageInterpolator interpolator)使用するメッセージ補間を定義します。TparameterNameProvider(ParameterNameProvider parameterNameProvider)パラメーター名プロバイダーを定義します。TtraversableResolver(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を構築できない場合