commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henri Yandell (JIRA)" <>
Subject [jira] Commented: (COLLECTIONS-231) Not return the base interface on decorate
Date Thu, 13 Sep 2007 00:11:32 GMT


Henri Yandell commented on COLLECTIONS-231:

I've put it in 4.0 - a place for fixes that are not generics related, but would are a break
in backwards compat.

> Not return the base interface on decorate
> -----------------------------------------
>                 Key: COLLECTIONS-231
>                 URL:
>             Project: Commons Collections
>          Issue Type: Improvement
>          Components: Map
>    Affects Versions: 3.2
>            Reporter: Torsten Curdt
>             Fix For: 4.0
> At the moment I don't see a reason why the static "decorate" method does not return ListOrderedMap
but just the base interface OrderedMap.
> I want to decorate a Map to be a ListOrderedMap but due to the fact that the constructor
is not visible and decorate only returns the base interface OrderedMap an unnecessary cast
is required.
>  ListOrderedMap map = (ListOrderedMap)ListOrderedMap.decorate(new MyMap());
> As the decorate method is static and not part of any interface it should be fine to return
the real type instead of the base. Otherwise I'd suggest to make the constructor visible.
From the API POV It is not really understandable why this
>  ListOrderedMap map = new ListOrderedMap();
> is fine and creates a HashMap under the hood while this
>  ListOrderedMap map = new ListOrderedMap(new MyMap()));
> is not ok.

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

View raw message