Set of common annotations for CoreMap's. The classes defined here are typesafe keys for getting and setting annotation values. These classes need not be instantiated outside of this class. e.g WordAnnotation.class serves as the key and a String serves as the value containing the corresponding word.
New types of CoreAnnotation can be defined anywhere that is convenient in the source tree - they are just classes. This file exists to hold widely used "core" annotations and others inherited from the Label family. In general, most keys should be placed in this file as they may often be reused throughout the code. This architecture allows for flexibility, but in many ways it should be considered as equivalent to an enum in which everything should be defined
The getType method required by CoreAnnotation must return the same class type as its value type parameter. It feels like one should be able to get away without that method, but because Java erases the generic type signature, that info disappears at runtime. See ValueAnnotation for an example.
| enum SRL_ID |