edu.stanford.nlp.util
Interface TypesafeMap<BASE>

Type Parameters:
BASE - A type-checking parameter that ensures that all keys given to get, has, set, etc., are appropriate for this particular TypesafeMap.
All Known Subinterfaces:
CoreMap
All Known Implementing Classes:
ArrayCoreMap, CoreLabel, CyclicCoreLabel, HashableCoreMap, IndexedWord

public interface TypesafeMap<BASE>

Type signature for a class that supports the basic operations required of a typesafe heterogeneous map.

Author:
dramage

Nested Class Summary
static interface TypesafeMap.Key<BASE,VALUE>
          Base type of keys for the map.
 
Method Summary
<VALUE,KEY extends TypesafeMap.Key<CoreMap,VALUE>>
boolean
containsKey(Class<KEY> key)
          Returns true if contains the given key.
<VALUE,KEY extends TypesafeMap.Key<BASE,VALUE>>
VALUE
get(Class<KEY> key)
          Returns the value associated with the given key or null if none is provided.
<VALUE,KEY extends TypesafeMap.Key<BASE,VALUE>>
boolean
has(Class<KEY> key)
          Returns true if the map contains the given key.
 Set<Class<?>> keySet()
          Collection of keys currently held in this map.
<VALUE,KEY extends TypesafeMap.Key<BASE,VALUE>>
VALUE
remove(Class<KEY> key)
          Removes the given key from the map, returning the value removed.
<VALUEBASE,VALUE extends VALUEBASE,KEY extends TypesafeMap.Key<BASE,VALUEBASE>>
VALUE
set(Class<KEY> key, VALUE value)
          Associates the given value with the given type for future calls to get.
 int size()
          Returns the number of keys in the map.
 

Method Detail

has

<VALUE,KEY extends TypesafeMap.Key<BASE,VALUE>> boolean has(Class<KEY> key)
Returns true if the map contains the given key.


get

<VALUE,KEY extends TypesafeMap.Key<BASE,VALUE>> VALUE get(Class<KEY> key)
Returns the value associated with the given key or null if none is provided.


set

<VALUEBASE,VALUE extends VALUEBASE,KEY extends TypesafeMap.Key<BASE,VALUEBASE>> VALUE set(Class<KEY> key,
                                                                                          VALUE value)
Associates the given value with the given type for future calls to get. Returns the value removed or null if no value was present.


remove

<VALUE,KEY extends TypesafeMap.Key<BASE,VALUE>> VALUE remove(Class<KEY> key)
Removes the given key from the map, returning the value removed.


keySet

Set<Class<?>> keySet()
Collection of keys currently held in this map. Some implementations may have the returned set be immutable. As of Java 1.6 Java's generics type inference is broken enough that the proper signature for this method - Set<Class<? extends Key<BASE,?>>> - cannot be implemented by subclasses, so the return signature is not typed as strongly as it could be.


containsKey

<VALUE,KEY extends TypesafeMap.Key<CoreMap,VALUE>> boolean containsKey(Class<KEY> key)
Returns true if contains the given key.


size

int size()
Returns the number of keys in the map.



Stanford NLP Group