Versions Compared

Key

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

...

  • createAnnotation(Type, int, int)
  • getAnnotationIndex()
  • getAnnotationIndex(Type)
  • getDocumentAnnotation()
  • getSofa()
  • Wiki Markup
    getCAS() \[NEW - gets the CAS that contains this view)

Also we will add the following convenience methods that forward to the same method on CAS (this is still the subject of some debate)

  • createArrayFS(int)
  • createBooleanArrayFS(int)
  • createDoubleArrayFS(int)
  • createFloatArrayFS(int)
  • createFS(Type)
  • createIntArrayFS(int)
  • createLongArrayFS(int)
  • createStringArrayFS(int)

JCas

(extends CommonCas)

  • checkArrayBounds(int ,int)
  • createView(String)
  • getCas()
  • getCasImpl()
  • getCasType(int)
  • Wiki Markup
    D- getDocumentAnnotation() \[deprecated since 1.4]
  • D- getDocumentAnnotationFs()
  • getFloatArray0L()
  • getFSArray0L()
  • D- getFSIndexRepository()
  • getIntegerArray0L()
  • getJfsFromCaddr(int)
  • D- getJFSIndexRepository()
  • getLowLevelCas()
  • getLowLevelIndexRepository()
  • getRequiredFeature(Type, String)
  • getRequiredFeatureDE(Type, String, String, boolean)
  • getRequiredType(String)
  • D- getSofa()
  • getStringArray0L()
  • getType(int)
  • Wiki Markup
    D- getType(TOP)  \[was already deprecated - time to remove yet??]
  • Wiki Markup
    getView(SofaFS)  \[CHANGED - now returns type JCasView]
  • Wiki Markup
    getView(String)  \[CHANGED - now returns type JCasView]
  • Wiki Markup
    D- processInit() \[was already deprecated - time to remove yet??]
  • putJfsFromCaddr(int, FeatureStructure)
  • Wiki Markup
    getCurrentView() \[NEW]

...

Or, perhaps simpler would be to not define a LowLevelCasView interface at all but just add to LowLevelCAS the method:
ll_getIndexRepository(String viewName)

JCAS-generated Cover Classes

This is still under some debate. The main issues are:

  1. What view does TOP.addToIndexes() add to?
  2. What Sofa does new Annotation(JCas) refer to?

A rough proposal, not yet agreed upon:

  1. deprecate TOP.addToIndexes(). Document that it's here only to
    provide compatibility with older single-sofa code, and does not
    support multi-sofa code. Suggest that users migrate to
    JCasView.addFsToIndexes(fs) instead.
  1. Add the constructors AnnotationBase(JCas, Sofa) and
    AnnotationBase(JCasView). These set the sofa pointer of the new
    annotation appropriately.
  1. Deprecate the constructor AnnotationBase(JCas). It always sets the
    Sofa reference to the "current view" and does not support multi-sofa
    code. Users should migrate to one of the other constructors.
  1. Apply the above changes to all subclasses of AnnotationBase, and
    update JCasGen to generate the appropriate constructors for subclasses
    of AnnotationBase.
  1. Either we enhance our migration utility so that it makes these
    constructor changes automatically, or we require users to rerun
    JCasGen when the migrate to Apache. The latter is starting to not
    sound like such a bad thing. In any case, custom constructors that a
    user added would need to be manually addressed by the user.