パッケージ jakarta.validation
クラス Validation
- java.lang.ObjectSE
-
- jakarta.validation.Validation
public class Validation extends ObjectSE
このクラスは Jakarta Bean Validation のエントリポイントです。ブートストラップする方法は 3 つあります。
- 最も簡単な方法は、デフォルトの
ValidatorFactory
を構築することです。ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
この場合、デフォルトの検証プロバイダーリゾルバーが使用可能なプロバイダーを見つけるために使用されます。選択されたプロバイダーは次のように定義されます。
- XML 構成がプロバイダーを定義している場合、このプロバイダーが使用されます
- XML 構成でプロバイダーが定義されていない場合、または XML 構成が存在しない場合は、
ValidationProviderResolver
インスタンスによって返された最初のプロバイダーが使用されます。
- 2 番目のブートストラップアプローチでは、カスタム
ValidationProviderResolver
を選択できます。選択されたValidationProvider
は、デフォルトのブートストラップの場合と同じ方法で決定されます(上記を参照)。Configuration<?> configuration = Validation .byDefaultProvider() .providerResolver( new MyResolverStrategy() ) .configure(); ValidatorFactory factory = configuration.buildValidatorFactory();
- 3 番目のアプローチでは、予期されるプロバイダーを明示的かつ型安全な方法で指定できます。
オプションで、カスタム
ValidationProviderResolver
を選択できます。ACMEConfiguration configuration = Validation .byProvider(ACMEProvider.class) .providerResolver( new MyResolverStrategy() ) // optionally set the provider resolver .configure(); ValidatorFactory factory = configuration.buildValidatorFactory();
注:
- ブートストラッププロセスによって構築された
ValidatorFactory
オブジェクトはキャッシュされ、Validator
コンシューマー間で共有されます。 - このクラスはスレッドセーフです。
- 作成者:
- Emmanuel Bernard, Hardy Ferentschik
- 最も簡単な方法は、デフォルトの
コンストラクターのサマリー
コンストラクター コンストラクター 説明 Validation()
メソッドのサマリー
すべてのメソッド 静的メソッド 具象メソッド 修飾子と型 メソッド 説明 static ValidatorFactory
buildDefaultValidatorFactory()
デフォルトの Jakarta Bean Validation プロバイダーに基づいて、XML 構成に従ってValidatorFactory
インスタンスを作成して返します。static GenericBootstrap
byDefaultProvider()
Configuration
をビルドします。static <T extends Configuration<T>,U extends ValidationProvider<T>>
ProviderSpecificBootstrap<T>byProvider(ClassSE<U> providerType)
特定のプロバイダー実装用のConfiguration
を構築します。
メソッドの詳細
buildDefaultValidatorFactory
public static ValidatorFactory buildDefaultValidatorFactory()
デフォルトの Jakarta Bean Validation プロバイダーに基づいて、XML 構成に従ってValidatorFactory
インスタンスを作成して返します。プロバイダーリストは、デフォルトの検証プロバイダーリゾルバーロジックを使用して解決されます。
コードは、意味的に
Validation.byDefaultProvider().configure().buildValidatorFactory()
と同等です。- 戻り値:
ValidatorFactory
インスタンス- 例外:
NoProviderFoundException
- Jakarta Bean Validation プロバイダーが見つからなかった場合ValidationException
- Jakarta Bean Validation プロバイダーは見つかったが、ValidatorFactory
を構築できない場合
byDefaultProvider
public static GenericBootstrap byDefaultProvider()
Configuration
をビルドします。プロバイダーリストは、ブートストラップ状態に提供された戦略を使用して解決されます。Configuration<?> configuration = Validation .byDefaultProvider() .providerResolver( new MyResolverStrategy() ) .configure(); ValidatorFactory factory = configuration.buildValidatorFactory();
プロバイダーは XML 構成で指定できます。XML 構成が存在しない場合、またはプロバイダーが指定されていない場合は、最初に使用可能なプロバイダーが返されます。- 戻り値:
- 提供されたブートストラップ状態に準拠した一般的な
Configuration
を構築するインスタンス
byProvider
public static <T extends Configuration<T>,U extends ValidationProvider<T>> ProviderSpecificBootstrap<T> byProvider(ClassSE<U> providerType)
特定のプロバイダー実装用のConfiguration
を構築します。オプションで、プロバイダーの決定に使用されるプロバイダー解決戦略をオーバーライドします。
プログラムで特定のプロバイダーを対象とするアプリケーションによって使用されます。
ACMEConfiguration configuration = Validation.byProvider(ACMEProvider.class) .providerResolver( new MyResolverStrategy() ) .configure();
ここで、ACMEConfiguration
は ACME Jakarta Bean Validation プロバイダーを一意に識別するConfiguration
サブインターフェースです。ACMEProvider
は、ACME プロバイダーのValidationProvider
実装です。- 型パラメーター:
T
- このValidationProvider
に対応するConfiguration
の型U
-ValidationProvider
実装の型- パラメーター:
providerType
-ValidationProvider
実装型- 戻り値:
- プロバイダー固有の
Configuration
サブインターフェース実装を構築するインスタンス