As discussed with Jozef Hartinger on the WELD forum thread (see forum reference and CDI-224),
would it be possible to revisit why decorator requires an interface ?
I do not understand the semantic difference between:
1. a decorator to be an abstract class which implements an interface, which delegate to the same interface.
2. a decorator to be a concrete class which extends a another class, which delegates to the same class.
Why 1. should be allowed and why 2. should be disallowed ?
As stated in CDI-224, if there is no technical reason of disallowing 2., should it be then considerate as a vendor specific feature to support it whether or not ?
It is kind of sad that only decorators requires an interface while all the others Java EE 6 features do not.