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

Reply via email to