here I am!
sorry I'm late but just terminated to have dinner :P
I think that specifying the <extending Object> can be omitted, and
Paul's suggestion is the way to go, the code is more readable.
The last added method can be improved, putting the K as argument
instead of String and <T extends V> as a strict check for output
argument:
public interface Context<K, V>
extends Map<K, V>
{
<T extends V> T retrieve(K key);
}
what I think is not so nice to have, is the Command, Filter, Chain,
..., notation that, getting Context as argument in their methods,
would require generics...
Lets' think about it, thanks for sharing your thoughts!!!
All the best,
Simo
http://people.apache.org/~simonetripodi/
http://www.99soft.org/
On Fri, Sep 9, 2011 at 8:56 PM, Elijah Zupancic <[email protected]> wrote:
> Paul,
>
> You may be right. Which one is more idiomatic?
>
> Thanks,
> -Elijah
>
> On Fri, Sep 9, 2011 at 11:51 AM, Paul Benedict <[email protected]> wrote:
>> On Fri, Sep 9, 2011 at 1:47 PM, Elijah Zupancic <[email protected]> wrote:
>>> Thanks for your comments Nail.
>>>
>>> I think that I've come around to see your point after sleeping on it.
>>> What do you think about this:
>>>
>>> Context.java - would be defined as so:
>>>
>>> public interface Context<K extends Object, V extends Object> extends Map<K,
>>> V>
>>
>> Isn't that identical to?
>> public interface Context<K, V> extends Map<K, V>
>>
>>> Then ContextBase.java would be defined like so:
>>>
>>> public class ContextBase extends ConcurrentHashMap<String, Object>
>>> implements Context<String, Object> {
>>
>> Paul
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]