... unless you feel IBehavior is no longer cohesive and needs to be
abandoned for that reason, or that it, or your new "Behavior" class
itself, should become an extension of multiple smaller interfaces that
more sensibly split, group and name the full range of
responsibilities, and if you are not proposing to widen or narrow the
API/functionality expected (of "Behavior") by Component, wouldn't

public abstract class Behavior implements IBehavior{...}

be not only less disruptive but also not unnecessarily limit
design/implementation options open to app developers?

For example,
// this would need to be rewritten
final IBehavior myBehevior = new AjaxEventBehavior("onmouseover"){...}

Beyond the stated relinquishment of proxies and mixins, this also
removes some implementation options when "adapt"ing to IBehavior (you
could still use delegation instead of implementation inheritance),
which may or may not be a smart practice, but why would Wicket take
responsibility for enforcing such judgement?
Other similar limitations would also be introduced, possibly without sufficient
compensation (1 less type to maintain?!)
For example,
// although this looks like a mixin too, the intention
// here is to adapt C to IBehavior's interface
class A extends C implements IBehavior{...}

Regards - Cemal
jWeekend
Training, Consulting, Development
http://jWeekend.com

On 27 November 2010 03:07, Igor Vaynberg <igor.vaynb...@gmail.com> wrote:
> Vote is now closed with 4 binding +1 votes. I will work on implementing this
> soon.
>
> -igor
>
> On Nov 26, 2010 11:47 AM, "Martin Grigorov" <mgrigo...@apache.org> wrote:
>
> +1
>
> On Wed, Nov 24, 2010 at 3:26 PM, Johan Compagner <jcompag...@gmail.com
>>wrote:
>
>
>> +1
>>
>> On Wed, Nov 24, 2010 at 03:22, Igor Vaynberg <igor.vaynb...@gmail.com>
>> wrote:
>> > the ib...
>

Reply via email to