Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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?)

...