[bv-dev] Method constraints in inheritance hierarchies

Gunnar Morling gunnar at hibernate.org
Sat Jul 6 15:48:50 EDT 2013


Hi,

I don't think that's a spec problem.

The @NotNull constraint should be validated, no matter wether Foo is an
interface or an abstract class. Generally constraints on
overridden/implemented methods are to be considered, you only may not add
any more parameter constraints in subclasses/implementations.

Are you using the Hibernate Validator CDI portable extension? Which
container do you use? Could you create an entry with the complete stack
trace and a detailed description of your environment to
https://forum.hibernate.org/viewforum.php?f=9?

--Gunnar



2013/7/6 Denis Silva <denis.analistajava at gmail.com>

> Hi,
>
> I'm doing some tests with bean validation, and i have some doubts about
> the behavior of method constraints on inheritance hierarchies.
> The specification tells about Liskov substitution, on method constraints
> within inheritance hierarchies, but i made the test bellow with
> the reference implementation ( hiberante validator 5.1 ), and not
> understand if this is a bug in implementation or my misunderstanding the
> specification.
>
> public interface Foo {
>      public void doStuff(@NotNull String v);
> }
>
> @Named
> public class Bar implements Foo {
>      public void doStuff(String v) {}
> }
>
> Calling bar.doStuff(null), the validation is not fired.
> But if i changed Foo interface to an abstract class, and made Bar extends
> it, the validation is fired and a ConstraintViolationException is
> propagated.
> The test was done with cdi.
>
> What should be the appropriate behavior?
>
> --
> Denis Tiago
>
> _______________________________________________
> beanvalidation-dev mailing list
> beanvalidation-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/beanvalidation-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/beanvalidation-dev/attachments/20130706/21c52a31/attachment.html 


More information about the beanvalidation-dev mailing list