You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2010/08/14 10:15:21 UTC

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

    [ https://issues.apache.org/jira/browse/WICKET-2115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12898543#action_12898543 ] 

Hudson commented on WICKET-2115:
--------------------------------

Integrated in Apache Wicket 1.5.x #232 (See [http://hudson.zones.apache.org/hudson/job/Apache%20Wicket%201.5.x/232/])
    

> 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
>            Assignee: Igor Vaynberg
>             Fix For: 1.5-M2
>
>         Attachments: BehaviorsUtil.java
>
>
> 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.