<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 13, 2017 at 10:23 AM, Matt Benson <span dir="ltr">&lt;<a href="mailto:mbenson@apache.org" target="_blank">mbenson@apache.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Fri, Jan 13, 2017 at 8:57 AM, Emmanuel Bernard <span dir="ltr">&lt;<a href="mailto:emmanuel@hibernate.org" target="_blank">emmanuel@hibernate.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">s/other/order from the JVM/<br>
<div class="m_4367733801916741967gmail-HOEnZb"><div class="m_4367733801916741967gmail-h5"><br>
&gt; On 13 Jan 2017, at 15:54, Emmanuel Bernard &lt;<a href="mailto:emmanuel@hibernate.org" target="_blank">emmanuel@hibernate.org</a>&gt; wrote:<br>
&gt;<br>
&gt; I looked at that, and I’m not sure you are guaranteed to get an other.<br>
&gt; Plus you have this problem<br>
&gt;<br>
&gt; @Min<br>
&gt; @Min.List({@Min, @Min})<br>
&gt; @Min<br>
&gt; BooYahh foo;<br>
&gt;<br></div></div></blockquote><div><br></div></span><div>I would have thought the same; however per [1] order is guaranteed. Your additional concern is still there. Maybe it would be cleaner to support this using meta-constraint annotations.</div></div></div></div></blockquote><div><br></div><div>Actually, per the same section of the JLS, your example is referred to as &quot;obtuse&quot; (which I&#39;m sure was the point you were making) would generate a compile error. So we could perhaps support Gunnar&#39;s approach after all. A meta-annotation might look cleaner, but it might become painful to define a lot of these.</div><div><br></div><div>Matt</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_4367733801916741967gmail-HOEnZb"><div class="m_4367733801916741967gmail-h5">
&gt;&gt; On 13 Jan 2017, at 15:22, Gunnar Morling &lt;<a href="mailto:gunnar@hibernate.org" target="_blank">gunnar@hibernate.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; As a variation of Matt&#39;s idea, an optional index() parameter could be added:<br>
&gt;&gt;<br>
&gt;&gt;   @Size(1)<br>
&gt;&gt;   @Size(3)<br>
&gt;&gt;   @ApplyConstraintTo(<wbr>constraint=Size.class, index=1, target=WRAPPED_VALUE)<br>
&gt;&gt;   List&lt;String&gt; nicknames;<br>
&gt;&gt;<br>
&gt;&gt; It could be omitted (via a default value of -1 or similar) if there is<br>
&gt;&gt; only one constraint of the type in question:<br>
&gt;&gt;<br>
&gt;&gt;   @NotNull<br>
&gt;&gt;   @Email<br>
&gt;&gt;   @ApplyConstraintTo(<wbr>constraint=NotNull.class, target=ANNOTATED_ELEMENT)<br>
&gt;&gt;   Optional&lt;String&gt; email;<br>
&gt;&gt;<br>
&gt;&gt; Does the trick, though it&#39;s still a tad verbose.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 2017-01-13 14:58 GMT+01:00 Emmanuel Bernard &lt;<a href="mailto:emmanuel@hibernate.org" target="_blank">emmanuel@hibernate.org</a>&gt;:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On 13 Jan 2017, at 13:29, Guillaume Smet &lt;<a href="mailto:guillaume.smet@gmail.com" target="_blank">guillaume.smet@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Fri, Jan 13, 2017 at 1:01 PM, Gunnar Morling &lt;<a href="mailto:gunnar@hibernate.org" target="_blank">gunnar@hibernate.org</a>&gt;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Unfortunately, validationAppliesTo() is already taken:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; <a href="http://beanvalidation.org/latest-draft/spec/#constraintsdefinitionimplementation-constraintdefinition-validationappliesto" rel="noreferrer" target="_blank">http://beanvalidation.org/late<wbr>st-draft/spec/#constraintsdefi<wbr>nitionimplementation-<wbr>constraintdefinition-validatio<wbr>nappliesto</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; It&#39;s used to distinguish between return value and cross-parameter<br>
&gt;&gt;&gt;&gt; constraints.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Any other name I can think of right now would make up for much<br>
&gt;&gt;&gt;&gt; confusion with that option.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Too good to be true :).<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; That being said, I&#39;m wondering if we could reuse it and just add 2 other<br>
&gt;&gt;&gt; values to ConstraintTarget. All in all, it&#39;s the same concept. The default<br>
&gt;&gt;&gt; being IMPLICIT is not too bad either.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Right I think it’s worth exploring.<br>
&gt;&gt;&gt; I still like my group repurposing trick though even if it offenses the clean<br>
&gt;&gt;&gt; camp :)<br>
&gt;&gt;&gt;<br></div></div></blockquote><div><br></div></div></div><div>I still can&#39;t figure out how you would use the group trick in conjunction with validation of a &quot;real&quot; group.</div><div><br></div><div>Matt</div><div><br></div><div>[1] <a href="http://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.7.5" target="_blank">http://docs.oracle.com/<wbr>javase/specs/jls/se8/html/jls-<wbr>9.html#jls-9.7.5</a></div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_4367733801916741967gmail-HOEnZb"><div class="m_4367733801916741967gmail-h5">
&gt;&gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt;&gt; beanvalidation-dev mailing list<br>
&gt;&gt;&gt; <a href="mailto:beanvalidation-dev@lists.jboss.org" target="_blank">beanvalidation-dev@lists.jboss<wbr>.org</a><br>
&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailma<wbr>n/listinfo/beanvalidation-dev</a><br>
&gt;&gt;<br>
&gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt; beanvalidation-dev mailing list<br>
&gt;&gt; <a href="mailto:beanvalidation-dev@lists.jboss.org" target="_blank">beanvalidation-dev@lists.jboss<wbr>.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailma<wbr>n/listinfo/beanvalidation-dev</a><br>
&gt;<br>
&gt;<br>
&gt; ______________________________<wbr>_________________<br>
&gt; beanvalidation-dev mailing list<br>
&gt; <a href="mailto:beanvalidation-dev@lists.jboss.org" target="_blank">beanvalidation-dev@lists.jboss<wbr>.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailma<wbr>n/listinfo/beanvalidation-dev</a><br>
<br>
<br>
______________________________<wbr>_________________<br>
beanvalidation-dev mailing list<br>
<a href="mailto:beanvalidation-dev@lists.jboss.org" target="_blank">beanvalidation-dev@lists.jboss<wbr>.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailma<wbr>n/listinfo/beanvalidation-dev</a></div></div></blockquote></span></div><br></div></div>
</blockquote></div><br></div></div>