[
https://issues.apache.org/jira/browse/COLLECTIONS-231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12526950
]
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: https://issues.apache.org/jira/browse/COLLECTIONS-231
> 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.