@Target(value=TYPE)
@Retention(value=RUNTIME)
public @interface Domain
The domain class is the user defined type that wraps a basic value. It can be mapped to a database column.
Instantiation by constructor:
@Domain(valueType = String.class)
public class PhoneNumber {
private final String value;
public PhoneNumber(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
Instantiation by factory method:
@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);
}
}
| Modifier and Type | Required Element and Description |
|---|---|
java.lang.Class<?> |
valueType |
| Modifier and Type | Optional Element and Description |
|---|---|
boolean |
acceptNull |
java.lang.String |
accessorMethod
The accessor method name.
|
java.lang.String |
factoryMethod
The factory method name.
|
public abstract java.lang.Class<?> valueType
public abstract java.lang.String factoryMethod
The factory method that accepts the wrapped value as an argument.
The default value "new" means constructor usage.