Package org.apache.uima.cas.impl
Class CasSeqAddrMaps
- java.lang.Object
-
- org.apache.uima.cas.impl.CasSeqAddrMaps
-
public class CasSeqAddrMaps extends java.lang.Object
Used by Binary serialization form 4 and 6 Manage the conversion of FSs to relative sequential index number, and back Manage the difference in two type systems both size of the FSs and handling excluded types During serialization, these maps are constructed before serialization. During deserialization, these maps are constructed while things are being deserialized, and then used in a "fixup" call at the end. This allows for forward references. For delta deserialization, the base part of these maps (for below-the-line) is constructed by scanning up to the mark.
-
-
Field Summary
Fields Modifier and Type Field Description private int
nextTgt
private Int2IntRBT
srcId2TgtId
map from source id to target id.private java.util.List<TOP>
tgtId2SrcFs
map from a target FS sequence nbr to a source id.
-
Constructor Summary
Constructors Constructor Description CasSeqAddrMaps()
CasSeqAddrMaps(java.util.List<TOP> tgtSeq2SrcFs, Int2IntRBT srcAddr2TgtSeq)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addItemId(TOP srcFs, int tgtId, boolean inTarget)
Add a new FS id - done during prescan of source during serialization Must call in heap scan ordervoid
addSrcFsForTgt(TOP srcFs, boolean inSrc)
Called during deserialize to incrementally add(package private) CasSeqAddrMaps
copy()
int
getNumberSrcFss()
TOP
getSrcFsFromTgtSeq(int seq)
int
getTgtSeqFromSrcAddr(int itemAddr)
-
-
-
Field Detail
-
tgtId2SrcFs
private final java.util.List<TOP> tgtId2SrcFs
map from a target FS sequence nbr to a source id. value is 0 if the target instance doesn't exist in the source (this doesn't occur for receiving remote CASes back (because src ts is always a superset of tgt ts), but can occur while deserializing from Disk.) index 0 is reserved for null
-
srcId2TgtId
private final Int2IntRBT srcId2TgtId
map from source id to target id. if source is not in target, value = -1;
-
nextTgt
private int nextTgt
-
-
Constructor Detail
-
CasSeqAddrMaps
public CasSeqAddrMaps()
-
CasSeqAddrMaps
public CasSeqAddrMaps(java.util.List<TOP> tgtSeq2SrcFs, Int2IntRBT srcAddr2TgtSeq)
-
-
Method Detail
-
addItemId
public void addItemId(TOP srcFs, int tgtId, boolean inTarget)
Add a new FS id - done during prescan of source during serialization Must call in heap scan order- Parameters:
srcFs
- -tgtId
- -inTarget
- true if this type is in the target
-
addSrcFsForTgt
public void addSrcFsForTgt(TOP srcFs, boolean inSrc)
Called during deserialize to incrementally add- Parameters:
srcFs
- -inSrc
- -
-
getSrcFsFromTgtSeq
public TOP getSrcFsFromTgtSeq(int seq)
- Parameters:
seq
- -- Returns:
- 0 means target seq doesn't exist in source CAS
-
getTgtSeqFromSrcAddr
public int getTgtSeqFromSrcAddr(int itemAddr)
- Parameters:
itemAddr
- -- Returns:
- -1 if src addr not in target seq
-
getNumberSrcFss
public int getNumberSrcFss()
-
copy
CasSeqAddrMaps copy()
-
-