[ 
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

        

Reply via email to