CAS and CAS View Interface Redesign
This page lists the methods on each interface in the proposed redesign. For rationale and discussion see http://www.mail-archive.com/uima-dev@incubator.apache.org/msg00945.html.
"D-" before a method name indicates that the method is deprecated.
New methods, deleted methods, and methods with changed return types are specifically noted.
CommonCas
- CONSTANTS
- D- addFsToIndexes(FS)
- createFeaturePath()
- createFeatureValuePath()
- createFilteredIterator(FSIterator, FSMatchConstraint)
- fs2listIterator(FSIterator)
- getConstraintFactory()
- D- getDocumentLanaguage()
- D- getDocumentText()
- D- getIndexRepository()
- D- getSofaDataArray()
- D- getSofaDataStream()
- D- getSofaDataURI()
- getSofaIterator()
- D- getViewName()
- D- removeFsFromIndexes(FS)
- reset()
- D- setDocumentLanguage(String)
- D- setDocumentText(String)
- D- setSofaDataArray(FeatureStrucutre, String)
- D- setSofaDataString(String, String)
- D- setSofaDataURI(String, String)
- size()
Deleted
D- createSofa(SofaID, String) [deprecated since 2.0, and this proposal breaks compatibility for multi-sofa code anyway}
CommonCasView
- addFsToIndexes(FS)
- getDocumentLanaguage()
- getDocumentText()
- getIndexRepository()
- getSofaDataArray()
- getSofaDataStream()
- getSofaDataURI()
- getViewName()
- removeFsFromIndexes(FS)
- setDocumentLanguage(String)
- setDocumentText(String)
- setSofaDataArray(FeatureStrucutre, String)
- setSofaDataString(String, String)
- setSofaDataURI(String, String)
CAS
(extends CommonCas)
- D- createAnnotation(Type, int, int)
- createArrayFS(int)
- createBooleanArrayFS(int)
- createDoubleArrayFS(int)
- createFloatArrayFS(int)
- createFS(Type)
- createIntArrayFS(int)
- createLongArrayFS(int)
- createStringArrayFS(int)
createView(String) [CHANGED - now returns type CasView]
- D- getAnnotationIndex()
- D- getAnnotationIndex(Type)
- getAnnotationType()
- getBeginFeature()
- D- getDocumentAnnotation()
- getEndFeature()
- getJCas()
- getLowLevelCAS()
- D- getSofa()
getView(SofaFS) [CHANGED - now returns type CasView]
getView(String) [CHANGED - now returns type CasView]
- setCurrentComponentInfo(ComponentInfo)
getCurrentView() [NEW]
createAnnotation(Type, int, int, SofaFS) [NEW]
Deleted
getJCas(SofaFS) [can be replaced by getView(SofaFS).getJCas()]
D- getJCas(SofaID) [deprecated since 2.0]
D- getSofa(SofaID) [deprecated since 2.0]
D- getTCAS() [deprecated since 2.0, replaced by getView()]
D- getTCAS(SofaFS) [deprecated since 2.0, replaced by getView(String)]
CasView
(extends CommonCasView)
- createAnnotation(Type, int, int)
- getAnnotationIndex()
- getAnnotationIndex(Type)
- getDocumentAnnotation()
- getSofa()
getCAS() [NEW - gets the CAS that contains this view)
JCas
(extends CommonCas)
- checkArrayBounds(int ,int)
- createView(String)
- getCas()
- getCasImpl()
- getCasType(int)
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)
D- getType(TOP) [was already deprecated - time to remove yet??]
getView(SofaFS) [CHANGED - now returns type JCasView]
getView(String) [CHANGED - now returns type JCasView]
D- processInit() [was already deprecated - time to remove yet??]
- putJfsFromCaddr(int, FeatureStructure)
getCurrentView() [NEW]
Deleted
getJCas(Sofa) [replaced by getView(Sofa)]
D- getSofa(SofaID) [deprecated since 2.0]
getTypeSystem() [not necessary to define on JCas since it is already on CommonCas]
JCasView
(extends CommonCasView)
- getDocumentAnnotationFs()
- getJFSIndexRepository()
- getSofa()
LowLevelCAS
It's not clear exactly what to do with the Low Level CAS APIs. There don't appear to be Sofa data access APIs here, so I think we could just do only the following changes:
- Deprecate ll_getIndexRepository()
Add ll_getView(String) [return type LowLevelCasView]
Add ll_getCurrentView() [return type LowLevelCasView]
- Change return type of ll_getSofaCasView(int) to LowLevelCasView
- Define new interface LowLevelCasView with just one method: ll_getIndexRepository()
Or, perhaps simpler would be to not define a LowLevelCasView interface at all but just add to LowLevelCAS the method:
ll_getIndexRepository(String viewName)