edu.stanford.nlp.util
Interface CoreMap

All Superinterfaces:
PrettyLoggable, TypesafeMap<CoreMap>
All Known Implementing Classes:
ArrayCoreMap, CoreLabel, HashableCoreMap

public interface CoreMap
extends TypesafeMap<CoreMap>, PrettyLoggable

Base type for all annotatable core objects. Should usually be instantiated as ArrayCoreMap. Many common key definitions live in CoreAnnotations, but others may be defined elsewhere. See CoreAnnotations for details.

Note that implementations of this interface must take care to implement equality correctly: by default, two CoreMaps are .equal if they contain the same keys and all corresponding values are .equal. Subclasses that wish to change this behavior (such as HashableCoreMap) must make sure that all other CoreMap implementations have a special case in their .equals to use that equality definition when appropriate. Similarly, care must be taken when defining hashcodes. The default hashcode is 37 * sum of all keys' hashcodes plus the sum of all values' hashcodes. However, use of this class as HashMap keys is discouraged because the hashcode can change over time. Consider using a HashableCoreMap.

Author:
dramage, rafferty

Nested Class Summary
 
Nested classes/interfaces inherited from interface edu.stanford.nlp.util.TypesafeMap
TypesafeMap.Key<BASE,VALUE>
 
Method Summary
 
Methods inherited from interface edu.stanford.nlp.util.TypesafeMap
containsKey, get, has, keySet, remove, set, size
 
Methods inherited from interface edu.stanford.nlp.util.logging.PrettyLoggable
prettyLog
 



Stanford NLP Group