7
Ad esempio, mi piacerebbe avere @Nonnegative
, definito come @Min(0)
e @DaySeconds
, definito come @Min(0) @Max(86399)
.Come posso definire un'annotazione Java in termini di un'altra?
Ad esempio, mi piacerebbe avere @Nonnegative
, definito come @Min(0)
e @DaySeconds
, definito come @Min(0) @Max(86399)
.Come posso definire un'annotazione Java in termini di un'altra?
Entrambe le annotazioni @Min
e @Max
possono essere utilizzate sulle annotazioni stesse. Questo è chiamato constraint composition.
Come tale, è possibile definire un nuovo vincolo DaySeconds
in questo modo:
@Min(0)
@Max(86399)
@Target({ METHOD, FIELD, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Constraint(validatedBy = {})
@Documented
public @interface DaySeconds {
String message() default "{your.message}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
Sarebbe lo stesso per @Nonnegative
.
intendi annotazioni annidate? – Ramanlfc