2015-11-23 12 views
7

उदाहरण के लिए, मैं @Nonnegative, @Min(0), और @DaySeconds के रूप में परिभाषित करना चाहता हूं, जिसे @Min(0) @Max(86399) के रूप में परिभाषित किया गया है।मैं एक जावा एनोटेशन को दूसरे के संदर्भ में कैसे परिभाषित कर सकता हूं?

+0

क्या आपका मतलब नेस्टेड एनोटेशन है? – Ramanlfc

उत्तर

5

@Min और @Max टिप्पणियां एनोटेशन पर स्वयं का उपयोग किया जा सकता है। इसे constraint composition कहा जाता है।

जैसे, अगर आप इस तरह एक नया बाधा DaySeconds परिभाषित कर सकते हैं:

@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 {}; 

} 

यह @Nonnegative के लिए ही होगा।

संबंधित मुद्दे

 संबंधित मुद्दे