|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 必須 | オプション | 詳細: 要素 | |||||||||
@Target(value=TYPE) @Retention(value=RUNTIME) public @interface Domain
ドメインクラスを示します。ドメインクラスとは、カラムに対応付け可能な値クラスです。
注釈されたクラスは、 次の制約を満たす必要があります。
valueType 要素に指定した型を引数とする非 private なコンストラクタを持ち、
factoryMethod 要素が "new" である。もしくは、factoryMethod
要素に指定した名前のstatic で非 private なメソッドを持ち、戻り値は注釈された型であり、 パラメータは
valueType 要素に指定した型である。
accessorMethod 要素に指定した名前の非 private なメソッドを持つ。このメソッドは、
valueType 要素に指定した型を戻り値とし、パラメータは受け取らない。
@Domain(valueType = String.class)
public class PhoneNumber {
private final String value;
public PhoneNumber(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
@Domain(valueType = String.class, factoryMethod = "of")
public class PhoneNumber {
private final String value;
private PhoneNumber(String value) {
this.value = value;
}
public String getValue() {
return value;
}
public static PhoneNumber of(String value) {
return new PhoneNumber(value);
}
}
| 必須要素の概要 | |
|---|---|
Class<?> |
valueType
ドメインクラスが扱う値型(基本型)。 |
| 任意要素の概要 | |
|---|---|
String |
accessorMethod
ドメインクラスが扱う値に対するアクセッサーメソッドの名前。 |
String |
factoryMethod
ドメインクラスのファクトリメソッドの名前。 |
| 要素の詳細 |
|---|
public abstract Class<?> valueType
public abstract String factoryMethod
デフォルトの値である "new" はコンストラクタで生成することを意味します。
public abstract String accessorMethod
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 必須 | オプション | 詳細: 要素 | |||||||||