[hibernate-issues] [Hibernate-JIRA] Commented: (HV-390) Boolean composition of constraints
Federico Mancini (JIRA)
noreply at atlassian.com
Mon Nov 1 16:51:48 EDT 2010
[ http://opensource.atlassian.com/projects/hibernate/browse/HV-390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=38961#action_38961 ]
Federico Mancini commented on HV-390:
-------------------------------------
Ok, it wasn't enough to just move method calls around, since it had some side effects other places, but I think I managed to fix it now keeping the modifications to a minimum(at least all the other tests still succeed as well as the new ones).
Tomorrow I will try to pull the new version using Git.
> Boolean composition of constraints
> ----------------------------------
>
> Key: HV-390
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HV-390
> Project: Hibernate Validator
> Issue Type: New Feature
> Components: engine
> Reporter: Federico Mancini
> Assignee: Hardy Ferentschik
> Fix For: 4.2.0
>
> Attachments: booltest.zip, modified classes.zip
>
>
> By adding a built-in annotation @Bool (or some other name) with element values OR, ALLFALSE and AND (which would be the default) it would be possible to
> compose constraints in a boolean fashion.
> For example:
> {code}
> //Specify that at least one of the patterns must match
> @Bool(OR)
> @List({@Pattern(regexp="pat1"), at Pattern(regexp="pat2"), at Pattern(regexp="pat3"), at Pattern(regexp="pat4")})
> @interface WhiteList{..}
> {code}
> {code}
> //Specify that none of the patterns must match
> @Bool(ALLFALSE)
> @List({@Pattern(regexp="pat1"), at Pattern(regexp="pat2"), at Pattern(regexp="pat3"), at Pattern(regexp="pat4")})
> @interface BlackList{..}
> {code}
> {code}
> //At least on valid contact method must match
> @Bool(OR)
> @Email
> @Address
> @Phone
> @interface ContactDetails{...}
> {code}
> This would greatly increase the type of new constraints that can be defined just by reusing some existing ones.
> Possible extensions might be for example further operators like XOR (meaning exactly one of the constraints must hold) or similar.
> It seems like it is possible to implement this feature by adding very little code to just a couple of classes, and adding the new @Bool annotation to the API.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list