[ https://issues.apache.org/jira/browse/COLLECTIONS-231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Neidhart updated COLLECTIONS-231: ---------------------------------------- Fix Version/s: (was: 4.0-beta-1) 4.0 > 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. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira