Hi,<div><br></div><div>Emmanuel, I can really see your points about <span style="background-color:rgb(255,255,255)">ordering numbers (the salience approach). I think that you are totally right. But in terms of usability declaring again and again interfaces are killing usability. At your example there is a still need for declaring them. And also at the order of the     constraints are can not be reached by reflection. </span></div>

<div><span style="background-color:rgb(255,255,255)"><br></span></div><div><span style="background-color:rgb(255,255,255)">At this point I believe that defining order explicitly is the best. Maybe like </span>GroupSequence we can use ConstraintSequence whose target type &quot;Field, Method, Type&quot; as opposite to GroupSequence whose target type &quot;Type&quot;. GroupSequence implies group related operations as expected, whereas ConstraintSequence implies ConstraintSequence. For me really it makes sense.</div>

<div><br></div><div>For my use case I just want to not declaring again and again interfaces. For M class and N field I have to declare (M) x (N) x (Annotation Count) Interface. And without declaring interface I would like to have short circuit feature. </div>

<div><br></div><div>Thanks    </div><div><span style="background-color:rgb(255,255,255)"><br></span></div><div><br></div><div><br></div><div><br></div><div><br></div><div>But there is another point too. Groups are used also for partial validation. And groups are really implies this partial validation with its name very good.<br>

<br><div class="gmail_quote">On 4 January 2012 16:29,  <span dir="ltr">&lt;<a href="mailto:beanvalidation-dev-request@lists.jboss.org">beanvalidation-dev-request@lists.jboss.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 id=":2b">Message: 3<br>
Date: Wed, 4 Jan 2012 15:25:10 +0100<br>
From: Emmanuel Bernard &lt;<a href="mailto:emmanuel@hibernate.org">emmanuel@hibernate.org</a>&gt;<br>
Subject: Re: [bv-dev] Ordered Validation (practically)<br>
To: beanvalidation-dev  List &lt;<a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.jboss.org</a>&gt;<br>
Message-ID: &lt;<a href="mailto:9B5F338F-1682-438B-8270-A2A0E9DADE81@hibernate.org">9B5F338F-1682-438B-8270-A2A0E9DADE81@hibernate.org</a>&gt;<br>
Content-Type: text/plain; charset=us-ascii<br>
<br>
I have what I think is a nice solution for BVAL-248 and for the uses case Cemo has<br>
<br>
The issue in this case is that you want the logic of group sequence but only per target (property, class, annotation).<br>
<br>
We can dot he following for that reusing HV-462&#39;s example<br>
<br>
```<br>
interface Cheap {}<br>
interface Expensive {}<br>
<br>
@GroupSequence(value={Cheap.class,Expensive.class}, ordering=PER_TARGET)<br>
public class DomainObject {<br>
<br>
        @Size(max=50, groups=Cheap.class) // constraint 1a<br>
        @Pattern(regexp=&quot;[a-z]*&quot;, groups=Expensive.class)  // constraint 1b<br>
        private String name;<br>
<br>
        @Size(max=20, groups=Cheap.class) // constraint 2a<br>
        @URL(groups=Expensive.class) // constraint 2b<br>
        private String email;<br>
<br>
        @Size(max=100, groups=Cheap.class) // constraint 3a<br>
        @Pattern(regexp=&quot;[0-9]*&quot;, groups=Expensive.class) // constraint 3b<br>
        private String password;<br>
}<br>
```<br>
<br>
The default @GroupSequence.ordering would be GLOBAL which is the current behavior.<br>
<br>
This solution is not technically as orthogonal than a true salience model but would that work for the use cases you have in mind?<br>
<br>
We can apply the same kind of solution on @ReportAsSingleViolation<br>
<br>
What do you think?<br>
<br>
Emmanuel</div></blockquote></div><br></div>