Hi all,
I'm about to implement group conversion via @ConvertGroup in the RI.
I'm wondering how we should deal with situations where @ConvertGroup is given for a one property of a base class and again on a sub-class (same for interface and impl):
public class Foo {
@Valid
@ConvertGroup(from=Default.class, to=AnotherGroup.class)
Bar getBar() { ... }
}
public class Baz extends Foo {
@Override
@Valid
@ConvertGroup(from=SomeGroup.class, to=YetAnotherGroup.class)
Bar getBar() { ... }
}
AFAICS we've got the following options here (in descending order of my preference):
* Merge all the conversions for a property from the hierarchy (so behavior is the same as when all conversions would have been given in one place using @ConvertGroup.List)
* Consider only the top/bottom most conversion rule from the inheritance hierarchy
* Allow only one conversion for a property in the hierarchy, throw an exception if multiple conversions are given
Any thoughts?
--Gunnar