[hibernate-issues] [Hibernate-JIRA] Commented: (HV-274) Write a programmatic mapping API for constraint declarations
Gunnar Morling (JIRA)
noreply at atlassian.com
Thu May 13 17:56:24 EDT 2010
[ http://opensource.atlassian.com/projects/hibernate/browse/HV-274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=37127#action_37127 ]
Gunnar Morling commented on HV-274:
-----------------------------------
Just read my way through the comments. Some additions:
Better (type-safe) support for built-in or HV constraints is great, but I think we should focus on the generic approach first as it is needed anyways for custom constraints and the built-in/HV support could be added later.
bq. What bothers me in this model is that I am forced to either:
bq. * define a message even when I want the default
bq. * or if you have multiple with, you have to know the API designer's choice on putting message before payload
Ack. I Think the user shouldn't be forced to invoke the methods in a certain order, especially as there is no real need for this and it makes things harder to understand.
I also thought about an approach similar to mocking libraries:
{code:java}
Size size = createConstraint(Size.class);
init(size.min(), 7);
init(size.message(), "Custom message");
config
.type( ShoppingCart.class )
.onField("items")
.addConstraint( size );
{code}
I'm not sure whether I really like it :-), but it has some advantages:
* nearly same level of type-safety as when specifying actual annotations
* same handling of built-in and custom types
* same handling of payload/message/groups and custom annotation attributes
Disadvantages OTOH:
* uncommon style for non-testing API
* not fluent
> Write a programmatic mapping API for constraint declarations
> ------------------------------------------------------------
>
> Key: HV-274
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HV-274
> Project: Hibernate Validator
> Issue Type: New Feature
> Components: engine
> Affects Versions: 4.0.2.GA
> Reporter: Emmanuel Bernard
> Assignee: Hardy Ferentschik
> Fix For: 4.1.0
>
>
--
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