I'm starting to look at converting JCas to an interface, with an impl.
First issue found:
this class contains static methods used by JCasGen-erated code, for
factored-out,
common methods to report errors, etc.
(e.g. when getting a feature, there's code like:
if (featOkTst && casFeat_xxxx == null)
JCas.throwFeatMissing("xxxx, "cas-type-name-for-xxxx");
These calls are in pre-existing JCas cover classes. I guess we're
planning to have new JCas cover classes generated
(unless we put in a layer to make the old ones work - they would be
tying into classes named "com.ibm.etc.").
So I can change JCasGen to generate a ref to JCasImpl.etc. instead of
JCas.etc.
if( featOkTst && casFeat_xxxx == null)
JCasImpl.throwFeatMissing("xxxx, "cas-type-name-for-xxxx");
Does this sound like the right idea?
-Marshall