Annotation Type Domain


@Target({METHOD,FIELD}) @Retention(RUNTIME) @Documented @Constraint(validatedBy=DomainValidator.class) @Published public @interface Domain
指定されたドメイン定義に合致することを表わすアノテーション。

ドメイン定義

ドメインはBeanで定義する。 Beanの各プロパティがそれぞれドメイン定義となり、 プロパティ名がドメイン名となる。
     public class SampleDomain {
         @Length(max = 10)
         @SystemChar(charsetDef="全角文字")
         String name;
     }
   
バリデーション条件のアノテーションの詳細はnablarch.core.validation.eeパッケージのjavadocを参照。

ドメインマネージャの設定

上で定義したドメインを使用するためにドメインマネージャを設定する必要がある。 次のように、DomainManagerを実装したクラスを用意し、 "domainManager" という名前でコンポーネント定義する。
     import nablarch.core.validation.ee.DomainManager;

     public class SampleDomainManager implements DomainManager<SampleDomain> {
         @Override
         public Class<SampleDomain> getDomainBean() {
             return SampleDomain.class;
         }
     }
   
     <component name="domainManager" class="com.example.SampleDomainManager"/>
   

ドメイン指定

定義したドメインをバリデーション対象のBean(Formなど)のプロパティに次のように設定する。 継承時にバリデーションの設定を引き継ぐためにプロパティのgetterに本アノテーションを設定することを推奨する。
     public class SampleBean {

         private String name;

         @Domain("name")
         public String getName() {
             return name;
         }
     }
   

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static @interface 
    複数指定用のアノテーション
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    ドメイン名
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Class<?>[]
    グループ
    メッセージ
    Class<? extends jakarta.validation.Payload>[]
    payload
  • Element Details

    • value

      String value
      ドメイン名

      ドメイン定義したBeanのプロパティ名を指定する

    • message

      String message
      メッセージ
      Default:
      "{nablarch.core.validation.ee.Domain.message}"
    • groups

      Class<?>[] groups
      グループ
      Default:
      {}
    • payload

      Class<? extends jakarta.validation.Payload>[] payload
      payload
      Default:
      {}