On 1/7/07, Marshall Schor <[EMAIL PROTECTED]> wrote:
Perhaps a useful thing to explore is to consider merging *all* the
"user-facing" CAS APIs (CAS, CASView, JCas, JCasView), thereby
*eliminating* some APIs. I'm thinking we would still have the ability
to have multiple views, each having a different "object" implementing
the API; but there would be just one Interface API for this. In other
words, the CAS getView(...) method would return a CAS.
Also I'm thinking we would still support JCas and CAS, while getting rid
of the JCas Interface. For instance, the "new MyAnnotation(....)"
methods could take a CAS argument - it's trivial to get the
corresponding JCas from a CAS Object.
What does this "break" in the bigger picture?
- It diminishes somewhat the multi-view notion, because there's only
one API, not a separate one for the "View".
What does this "enhance"?
- Users learn only one interface, don't get confused about having
multiple ones. I think users have "asked" for this kind of
simplification before.
There's probably something fundamentally wrong with this, so let's here
what it is; I'll try not to get too embarrassed :-)
The part about CAS.getView() returning a CAS is what we do today! And
some users are certainly confused by this, although perhaps users will
be confused no matter what we do, since this is complex. I think part
of the confusion is that we have too FEW interfaces - fewer interfaces
doesn't mean less complexity if we use one interface to refer to two
quite different things. The "whole CAS" ("base CAS") is a different
animal than a view, and there are a lot of things you can't do on a
"whole CAS". Since we have only one interface, that means we have a
lot of methods that throw exceptions if you try to call them on the
"whole CAS". This is very confusing.
The part about merging CAS and JCas - I don't see that this is solving
any major problem. It's true I've heard a user or two ask for these
to be merged, but they didn't convince me. I think it's OK to have
different styles of interfaces to the CAS. Anyway I think we have
bigger fish to fry.
-Adam