On 11.08.2016, at 16:08, Marshall Schor <[email protected]> wrote:
> 
> Re: BinaryCasSerDes6 changes
> 
> BinaryCasSerDes6 has many public constructors, which are variants but end up
> calling one common constructor.
> This update changes the the arg list for the common constructor, which means 
> any
> callers of this need updating.  Since this is a public API, it's possible that
> this change could affect some existing non-uima-framework code.
> 
> How about keeping this the same public API, but adding a new API with the 
> extra
> argument?  That one would best be made "private", I think.

Ah, I forgot to introduce a new constructor with the old signature in that case.
In other cases where I extended the signature, I have always added a method
with the old signature that forwards to the extended signature.

Making the new constructor with the maximal signature private seems ok.
Actually, normally I would work a lot more with setters or maybe with a
builder pattern. I just sticked with the constructor stacking because it was
the style already used.

> -----------------
> An exception is thrown if a call is made with the storeTsi flag on and a type
> filtering type system is provided.  It seems this, in general, would be quite
> reasonable and trivial to support (just serialize the type filtering type 
> system
> instead)?

Well... what we serialize is a CASMgrSerializer (TS + Index). It might 
be trivial to construct a CASMgrSerializer from the index repository in the
current CAS and from the type filtering type system. I just didn't try it.

Cheers,

-- Richard

Reply via email to