public class CasTypeSystemMapper
extends Object
This class gets initialized with two type systems, and then provides
resources to map type and feature codes between them.
It is used by some Binary serialization/ deserialization
code to allow non-exact matched type systems to send and
receive CASes in a binary-like format.
Use cases:
Serializing: Source ts -%gt; generate serialized form in Target ts
Deserializing: Target ts -%gt; generate deserialized form in Source ts
- either from remote or
- from disk-stored-form
Mapping details:
Types are mapped by name.
Same-named types do not need to have the same number of features.
Same-named features must have same Range - otherwise, not mapped.
Types with 0 features mapped allowed.
LifeCycle:
Instance of this are created for a CAS when needed, and then
kept in the (source) TypeSystemImpl, in a map indexed by
the target type system (identity map)