Hi Frederico, sorry for the late reply. I finally had some time to read through your paper. I think there are strong similarities between you work and Hibernate Validator or more specific the Bean Validation specification (JSR 303).
Property validation in the SHIP Validator is basically the same as in Bean Validation. And what you call cross-annotations would be a class level validator in Bean Validation terms. Bean Validation also offers constraint composition similar to what is described in your paper. What Bean Validation does not offer is a boolean composition of the constraints. Here conjunction of constraints is always assumed. We are not able to do something like this: @BoolTest(BoolType.OR) @Null @Max(10) @Target({ METHOD, FIELD }) @Retention(RUNTIME) @Constraint(validatedBy = { }) public @interface NullOrMax { public abstract String message() default "foo"; public abstract Class<?>[] groups() default { }; public abstract Class<? extends Payload>[] payload() default { }; @OverridesAttribute(constraint = Max.class, name = "value") public abstract long max() } Also the ability to validate a subset of all properties from within a class level validator sounds interesting. We could implement these features as Hibernate Validator specific extensions. Are you interested in getting involved? --Hardy On Tue, 05 Oct 2010 09:48:15 +0200, Federico Mancini <mancini_feder...@yahoo.it> wrote: > Hi again, > I was just wondering whether I should interpret the lack of answers as > "no, this is not interesting at all", or as "we have a lot of other > things to do and do not have time for this right now"? > > Federico > > Den 22.09.2010 09:08, skrev Federico Mancini: >> Hi all, >> I am new to the list and I am opening this thread on Emmanuel Bernard's >> suggestion, in order to >> discuss some possible extensions to the validator (jsr 303) I have been >> working on with a couple of collegues. >> Mainly it concerns the possibility to extend composition with boolean >> operators (ex.: A field is either in the range 1-10 OR 20-30 AND >> notNull) and allow validation of sets of interdependent properties >> (ex.: EITHER the name field is notNull OR the surname field is notNull/ >> AT LEAST 1 field must be filled/etc....). >> >> A description of the experimental framework we implemented can be found >> here http://www.ii.uib.no/publikasjoner/texrap/pdf/2009-389.pdf , and >> some further discussion on the choices we made here >> http://www.ii.uib.no/~federico/papers/Annotations.pdf. >> >> I hope this might be of some interest for the Hybernate Validator >> project, >> but, even if not, it would be nice to get some feedback. >> >> Thanks, >> Federico Mancini >> _______________________________________________ >> hibernate-dev mailing list >> hibernate-dev@lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/hibernate-dev >> > > _______________________________________________ > hibernate-dev mailing list > hibernate-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/hibernate-dev _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev