パッケージ jakarta.validation

クラス Validation

java.lang.ObjectSE
jakarta.validation.Validation

public class Validation extends ObjectSE
このクラスは Jakarta 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 Validation プロバイダーに基づいて、XML 構成に従って ValidatorFactory インスタンスを作成して返します。

      プロバイダーリストは、デフォルトの検証プロバイダーリゾルバーロジックを使用して解決されます。

      コードは、意味的に Validation.byDefaultProvider().configure().buildValidatorFactory() と同等です。

      戻り値:
      ValidatorFactory インスタンス
      例外:
      NoProviderFoundException - Jakarta Validation プロバイダーが見つからなかった場合
      ValidationException - Jakarta 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 Validation プロバイダーを一意に識別する Configuration サブインターフェースです。ACMEProvider は、ACME プロバイダーの ValidationProvider 実装です。
      型パラメーター:
      T - この ValidationProvider に対応する Configuration の型
      U - ValidationProvider 実装の型
      パラメーター:
      providerType - ValidationProvider 実装型
      戻り値:
      プロバイダー固有の Configuration サブインターフェース実装を構築するインスタンス