You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Igor Vaynberg (JIRA)" <ji...@apache.org> on 2009/02/20 08:29:03 UTC

[jira] Updated: (WICKET-2115) Make Component. 'protected List getBehaviors(Class' public

     [ https://issues.apache.org/jira/browse/WICKET-2115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Igor Vaynberg updated WICKET-2115:
----------------------------------

    Fix Version/s: 1.5-M1

> Make Component. 'protected List<IBehavior> getBehaviors(Class<? extends IBehavior>' public
> ------------------------------------------------------------------------------------------
>
>                 Key: WICKET-2115
>                 URL: https://issues.apache.org/jira/browse/WICKET-2115
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.4-RC2
>            Reporter: Martin Funk
>             Fix For: 1.5-M1
>
>
> actually making getbehaviors(class) public will also break code
> because any override already in place will then attempt to reduce the
> visibility of the method.
> add a jira issue, most likely for 1.5 considering 1.4 is already in RC2.
> -igor
> On Thu, Feb 19, 2009 at 1:24 PM, Martin Funk <ma...@googlemail.com> wrote:
> Hi,
> why is Components
>       public final List<IBehavior> getBehaviors()
> public
> and why is
>       protected List<IBehavior> getBehaviors(Class<? extends IBehavior>
> type)
> protected?
> For example for a Behavior I'd like it to be able to tell if an Behavior of
> its type is already bound to that component.
> In its bind() method I'd like to do something like:
>               if (component.getBehaviors(SomeBehavior.class).size() > 1) {
>                       throw new Error("Ther may only be one");
>               }
> But I have to do something like:
>               for (IBehavior behavior : component.getBehaviors()) {
>                       if (behavior instanceof SomeBehavior) {
>                               throw new Error("There may only be one");
>                       }
>               }
> So my whish would be to have em both public. I wouldn't mind seeing em both
> final, but that might break existing code.
> mf

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.