パッケージ 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

        public Validation()
    • メソッドの詳細

      • 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 サブインターフェース実装を構築するインスタンス