@Target(value={METHOD,FIELD})
@Retention(value=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;
}
}