<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 13 Jan 2017, at 18:54, Matt Benson &lt;<a href="mailto:mbenson@apache.org" class="">mbenson@apache.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-size: 12.8px;" class="">As I warned, however, defining these might become tedious. It might be helpful to define a mechanism (like that supported by Spring) to map annotation elements:</span></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-size: 12.8px;" class=""><br class=""></span></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class="">@Size</div><div class="">@ConstraintsApplyTo(WRAPPED_VALUE)</div><div class="">@Constraint</div><div class="">public @interface WrappedSize {</div><div class=""><br class=""></div><div class="">&nbsp; @MapTo(type=Size.class, attribute="min")</div><div class="">&nbsp; int min() default 0;</div><div class=""><br class=""></div><div class="">&nbsp; @MapTo(type=Size.class, attribute="max")</div><div class="">&nbsp; int max() default Integer.MAX_VALUE;</div><div class=""><br class=""></div><div class=""><div class="">&nbsp; String message() default "";</div><div class="">&nbsp; Class&lt;?&gt; groups() default {};</div><div class="">&nbsp; Class&lt;? extends Payload&gt;[] payload() default {};</div></div><div class="">}</div></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class=""><span style="font-size: 12.8px;" class="">@Size(1) @WrappedSize(min=3) StringList nicknames;</span></div></div><br class="Apple-interchange-newline"></div></blockquote></div><br class=""><div class="">If you mean something like @MapTo, the spec already has that via @OverridesAttribute</div><div class="">AFAIK we invented it.</div></body></html>