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_federico(a)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(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
>
_______________________________________________
hibernate-dev mailing list
hibernate-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev