...
- extends = the super _Type class corresponding to the super type in the UIMA type system
- backwards compatibility:
- generated low-level APIs for setting and getting values as is now done
- The same global index into JCasRegistry from the main class, via static reference to corresponding field
- has the same control flags as v2
- ref to CAS/JCas view
- ref to TypeImpl
Accessing features via Feature instances
For both backwards compatibility and to support more generic processing, UIMA provides access to features of a FeatureStructures via api calls where the feature is identified indirectly, as an argument, which is a reference to an instance of FeatureImpl.
In Java 8, this can be supported via lazy on demand generation of getters and setters, which have the same performance as native access. This can be achieved using the new MethodHandle and LambdaMetaFactory capabilities, available in Java 8.
The APIs will call a getter/setter method specialized to the classes supported in UIMA V2: boolean, byte, short, int, long, float, double, String, FeatureStructure, and JavaObject (new in v3). (Arrays will be either FeatureStructure or JavaObject).
These methods in FeatureImpl on first call, will use appropriate reflection to set up the proper method-handle/functional-interfaces to support subsequent high-speed access.
Generation notes
Need to package ASM embedded within new prefix in project (ASM requirement?)
...