Class CasTypeSystemMapper


  • 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)
    • Method Detail

      • isEqual

        public boolean isEqual()
      • mapTypeCodeSrc2Tgt

        public int mapTypeCodeSrc2Tgt​(int c)
        Parameters:
        c - -
        Returns:
        0 if type doesn't have corresponding code in other type system
      • mapTypeCodeTgt2Src

        public int mapTypeCodeTgt2Src​(int c)
        Parameters:
        c - -
        Returns:
        0 if type doesn't have corresponding code in other type system
      • mapTypeCode2Other

        public int mapTypeCode2Other​(int c,
                                     boolean src2tgt)
        Parameters:
        c - -
        src2tgt - -
        Returns:
        0 if type doesn't have corresponding code in other type system
      • getTgtFeatOffsets2Src

        public int[] getTgtFeatOffsets2Src​(int tCode)
        Parameters:
        tCode - - source type code
        Returns:
        int vec of 0-based feat offsets in src of feats in tgt, in the order of the target
      • getFSrcInTgt

        public boolean[] getFSrcInTgt​(int tCode)