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 <
mafulafunk@...> 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
>
>
>