How about the name removeEntry|Entries since there is a Map.Entry.

Gary


On Wed, Nov 13, 2013 at 4:49 PM, Thomas Neidhart
<thomas.neidh...@gmail.com>wrote:

> Hi,
>
> during the vote for collections 4.0 we have discovered a problem wrt the
> MultiMap interface in general and specifically the MultiKeyMap.
>
> Java 8 introduces a new default method in the Map interface:
>
>  boolean remove(Object key, Object value)
>
> This clashes with the method in MultiMap:
>
>  V remove(K key, V value)
>
> and the remove methods for multiple keys in MultiKeyMap:
>
>  V remove(K key1, K key2)
>
>
> Just changing the return type does not solve the problem, as one can not
> re-define a method in an interface without using the @Override
> annotation, but this would only work when compiling with JDK 8 and fail
> for other JDKs.
>
> For the MultiKeyMap it would be semantically wrong too, thus I propose a
> name change.
>
> For MultiMap:
>
>  boolean removeMapping(K key, V value)
>
> For MultiKeyMap (for all remove(K ...) methods):
>
>  V removeMultiKey(K key1, K key2)
>  V removeMultiKey(K key1, K key2, K key3)
>  ...
>
>
> In the case of the MultiMap, I think returning a boolean makes more
> sense, similar as Java 8 does it.
>
> For the MultiKeyMap, returning the previously mapped value is preferable
> imho.
>
> Any objections?
>
> Thomas
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>


-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to