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 executes and a ConstraintViolationException is propagated. The test was done with cdi beans.
What should be the appropriate behavior?
IMHO, this is a bug on the implementation, on the hibernate validator cdi extension.
|