Hi, On 6 févr. 2011, at 20:57, Gunnar Morling wrote:
> > one other issue we might/should deliver for Beta2 is > http://opensource.atlassian.com/projects/hibernate/browse/HV-371 ("Support > method-level constraints in meta-data API"), at least API-wise. I pushed a > first draft to > https://github.com/gunnarmorling/hibernate-validator/tree/HV-371 and would be > happy on your feedback. > > With some exceptions this is pretty similar to what is suggested in Appendix > C. As we can't alter the BeanDescriptor type, I created a new type > TypeDescriptor (I think the name is better anyways, as constraints are no > longer restricted to bean-style types with the advent of method validation). > This type resembles BeanDescriptor (it doesn't inherit for the naming reason > but I would let me convince if you think it should) and is returned by > MethodValidator#getConstraintsForType(). It seems that in the grand scheme of BV 1.1, we would put all your methods back on BeanDescription without necessarily adding a new type. I initially thought of adding TypeDescriptor as a superclass of BeanDescriptor but the idea of having the noting of properties on TypeDescriptor felt wrong (in Java). WDYT? If we all agree then that means TypeDescriptor is really a (temporary) subclass of BeanDescriptor > > Anything else is pretty much straight forward. Currently it is not possible > to determine from which exact method version in a hierarchy a certain > constraint originates (using the ConstraintFinder API one can only find out, > whether a constraint is defined locally or *somewhere* up in the hierarchy). > Do you think this would be needed? I think, the same restriction holds for > the existing property descriptor API. I've always envisioned that one in need to find where a constraint was exactly would use a combination of lookingAt(LOCAL_ELEMENT) and clazz.getSuperclass(). What would be the use case for reaching the exact method straight? > > The existing methods (getElementClass(), getConstraintDescriptors() etc.) on > ElementDescriptor all seem to make sense for the new descriptor types. For > MethodDescriptor they should relate to the return value type/constraints, for > ParameterDescriptor to the parameter type/constraints. yep. > > WDYT, should we ship this as API in Beta2 for public review and implement it > with the next milestone? I'm also CC-ing Emmanuel as I think he originally > wrote Appendix C. Fine by me, it's up to you guys. The design is very much inline with the original design of Bean Validation. BTW MethodDescriptor#getMethod why is it required? I think we've discussed that but I forgot. _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev