/// <summary> /// 写入字节流(完整版) /// </summary> protected override void toWriteBytesFull(BytesWriteStream stream) { stream.startWriteObj(); if (this.workExecuteRecordDic != null) { stream.writeLen(this.workExecuteRecordDic.size()); if (!this.workExecuteRecordDic.isEmpty()) { int workExecuteRecordDicKFreeValue = this.workExecuteRecordDic.getFreeValue(); int[] workExecuteRecordDicKKeys = this.workExecuteRecordDic.getKeys(); LongLongMap[] workExecuteRecordDicVValues = this.workExecuteRecordDic.getValues(); for (int workExecuteRecordDicKI = workExecuteRecordDicKKeys.Length - 1; workExecuteRecordDicKI >= 0; --workExecuteRecordDicKI) { int workExecuteRecordDicK = workExecuteRecordDicKKeys[workExecuteRecordDicKI]; if (workExecuteRecordDicK != workExecuteRecordDicKFreeValue) { LongLongMap workExecuteRecordDicV = workExecuteRecordDicVValues[workExecuteRecordDicKI]; stream.writeInt(workExecuteRecordDicK); if (workExecuteRecordDicV != null) { stream.writeLen(workExecuteRecordDicV.size()); if (!workExecuteRecordDicV.isEmpty()) { long workExecuteRecordDicVKFreeValue = workExecuteRecordDicV.getFreeValue(); long[] workExecuteRecordDicVKKeys = workExecuteRecordDicV.getKeys(); long[] workExecuteRecordDicVVValues = workExecuteRecordDicV.getValues(); for (int workExecuteRecordDicVKI = workExecuteRecordDicVKKeys.Length - 1; workExecuteRecordDicVKI >= 0; --workExecuteRecordDicVKI) { long workExecuteRecordDicVK = workExecuteRecordDicVKKeys[workExecuteRecordDicVKI]; if (workExecuteRecordDicVK != workExecuteRecordDicVKFreeValue) { long workExecuteRecordDicVV = workExecuteRecordDicVVValues[workExecuteRecordDicVKI]; stream.writeLong(workExecuteRecordDicVK); stream.writeLong(workExecuteRecordDicVV); } } } } else { nullObjError("workExecuteRecordDicV"); } } } } } else { nullObjError("workExecuteRecordDic"); } stream.endWriteObj(); }
/// <summary> /// 是否数据一致 /// </summary> protected override bool toDataEquals(BaseData data) { WorkReceiverData mData = (WorkReceiverData)data; if (mData.workExecuteRecordDic != null) { if (this.workExecuteRecordDic == null) { return(false); } if (this.workExecuteRecordDic.size() != mData.workExecuteRecordDic.size()) { return(false); } IntObjectMap <LongLongMap> workExecuteRecordDicR = mData.workExecuteRecordDic; if (!this.workExecuteRecordDic.isEmpty()) { int workExecuteRecordDicKFreeValue = this.workExecuteRecordDic.getFreeValue(); int[] workExecuteRecordDicKKeys = this.workExecuteRecordDic.getKeys(); LongLongMap[] workExecuteRecordDicVValues = this.workExecuteRecordDic.getValues(); for (int workExecuteRecordDicKI = workExecuteRecordDicKKeys.Length - 1; workExecuteRecordDicKI >= 0; --workExecuteRecordDicKI) { int workExecuteRecordDicK = workExecuteRecordDicKKeys[workExecuteRecordDicKI]; if (workExecuteRecordDicK != workExecuteRecordDicKFreeValue) { LongLongMap workExecuteRecordDicV = workExecuteRecordDicVValues[workExecuteRecordDicKI]; LongLongMap workExecuteRecordDicU = workExecuteRecordDicR.get(workExecuteRecordDicK); if (workExecuteRecordDicU != null) { if (workExecuteRecordDicV == null) { return(false); } if (workExecuteRecordDicV.size() != workExecuteRecordDicU.size()) { return(false); } LongLongMap workExecuteRecordDicVR = workExecuteRecordDicU; if (!workExecuteRecordDicV.isEmpty()) { long workExecuteRecordDicVKFreeValue = workExecuteRecordDicV.getFreeValue(); long[] workExecuteRecordDicVKKeys = workExecuteRecordDicV.getKeys(); long[] workExecuteRecordDicVVValues = workExecuteRecordDicV.getValues(); for (int workExecuteRecordDicVKI = workExecuteRecordDicVKKeys.Length - 1; workExecuteRecordDicVKI >= 0; --workExecuteRecordDicVKI) { long workExecuteRecordDicVK = workExecuteRecordDicVKKeys[workExecuteRecordDicVKI]; if (workExecuteRecordDicVK != workExecuteRecordDicVKFreeValue) { long workExecuteRecordDicVV = workExecuteRecordDicVVValues[workExecuteRecordDicVKI]; long workExecuteRecordDicVU = workExecuteRecordDicVR.get(workExecuteRecordDicVK); if (workExecuteRecordDicVV != workExecuteRecordDicVU) { return(false); } } } } } else { if (workExecuteRecordDicV != null) { return(false); } } } } } } else { if (this.workExecuteRecordDic != null) { return(false); } } return(true); }
/// <summary> /// 转文本输出 /// </summary> protected override void toWriteDataString(DataWriter writer) { writer.writeTabs(); writer.sb.Append("workExecuteRecordDic"); writer.sb.Append(':'); writer.sb.Append("Map<int,LongLongMap>"); if (this.workExecuteRecordDic != null) { writer.sb.Append('('); writer.sb.Append(this.workExecuteRecordDic.size()); writer.sb.Append(')'); writer.writeEnter(); writer.writeLeftBrace(); if (!this.workExecuteRecordDic.isEmpty()) { int workExecuteRecordDicKFreeValue = this.workExecuteRecordDic.getFreeValue(); int[] workExecuteRecordDicKKeys = this.workExecuteRecordDic.getKeys(); LongLongMap[] workExecuteRecordDicVValues = this.workExecuteRecordDic.getValues(); for (int workExecuteRecordDicKI = workExecuteRecordDicKKeys.Length - 1; workExecuteRecordDicKI >= 0; --workExecuteRecordDicKI) { int workExecuteRecordDicK = workExecuteRecordDicKKeys[workExecuteRecordDicKI]; if (workExecuteRecordDicK != workExecuteRecordDicKFreeValue) { LongLongMap workExecuteRecordDicV = workExecuteRecordDicVValues[workExecuteRecordDicKI]; writer.writeTabs(); writer.sb.Append(workExecuteRecordDicK); writer.sb.Append(':'); writer.sb.Append("Map<long,long>"); if (workExecuteRecordDicV != null) { writer.sb.Append('('); writer.sb.Append(workExecuteRecordDicV.size()); writer.sb.Append(')'); writer.writeEnter(); writer.writeLeftBrace(); if (!workExecuteRecordDicV.isEmpty()) { long workExecuteRecordDicVKFreeValue = workExecuteRecordDicV.getFreeValue(); long[] workExecuteRecordDicVKKeys = workExecuteRecordDicV.getKeys(); long[] workExecuteRecordDicVVValues = workExecuteRecordDicV.getValues(); for (int workExecuteRecordDicVKI = workExecuteRecordDicVKKeys.Length - 1; workExecuteRecordDicVKI >= 0; --workExecuteRecordDicVKI) { long workExecuteRecordDicVK = workExecuteRecordDicVKKeys[workExecuteRecordDicVKI]; if (workExecuteRecordDicVK != workExecuteRecordDicVKFreeValue) { long workExecuteRecordDicVV = workExecuteRecordDicVVValues[workExecuteRecordDicVKI]; writer.writeTabs(); writer.sb.Append(workExecuteRecordDicVK); writer.sb.Append(':'); writer.sb.Append(workExecuteRecordDicVV); writer.writeEnter(); } } } writer.writeRightBrace(); } else { writer.sb.Append("=null"); } writer.writeEnter(); } } } writer.writeRightBrace(); } else { writer.sb.Append("=null"); } writer.writeEnter(); }
/// <summary> /// 复制(深拷贝) /// </summary> protected override void toCopy(BaseData data) { if (!(data is WorkReceiverData)) { return; } WorkReceiverData mData = (WorkReceiverData)data; if (mData.workExecuteRecordDic != null) { if (this.workExecuteRecordDic != null) { this.workExecuteRecordDic.clear(); this.workExecuteRecordDic.ensureCapacity(mData.workExecuteRecordDic.size()); } else { this.workExecuteRecordDic = new IntObjectMap <LongLongMap>(mData.workExecuteRecordDic.size()); } IntObjectMap <LongLongMap> workExecuteRecordDicT = this.workExecuteRecordDic; if (!mData.workExecuteRecordDic.isEmpty()) { int workExecuteRecordDicKFreeValue = mData.workExecuteRecordDic.getFreeValue(); int[] workExecuteRecordDicKKeys = mData.workExecuteRecordDic.getKeys(); LongLongMap[] workExecuteRecordDicVValues = mData.workExecuteRecordDic.getValues(); for (int workExecuteRecordDicKI = workExecuteRecordDicKKeys.Length - 1; workExecuteRecordDicKI >= 0; --workExecuteRecordDicKI) { int workExecuteRecordDicK = workExecuteRecordDicKKeys[workExecuteRecordDicKI]; if (workExecuteRecordDicK != workExecuteRecordDicKFreeValue) { LongLongMap workExecuteRecordDicV = workExecuteRecordDicVValues[workExecuteRecordDicKI]; int workExecuteRecordDicW; LongLongMap workExecuteRecordDicU; workExecuteRecordDicW = workExecuteRecordDicK; if (workExecuteRecordDicV != null) { workExecuteRecordDicU = new LongLongMap(workExecuteRecordDicV.size()); LongLongMap workExecuteRecordDicUT = workExecuteRecordDicU; if (!workExecuteRecordDicV.isEmpty()) { long workExecuteRecordDicUKFreeValue = workExecuteRecordDicV.getFreeValue(); long[] workExecuteRecordDicUKKeys = workExecuteRecordDicV.getKeys(); long[] workExecuteRecordDicUVValues = workExecuteRecordDicV.getValues(); for (int workExecuteRecordDicUKI = workExecuteRecordDicUKKeys.Length - 1; workExecuteRecordDicUKI >= 0; --workExecuteRecordDicUKI) { long workExecuteRecordDicUK = workExecuteRecordDicUKKeys[workExecuteRecordDicUKI]; if (workExecuteRecordDicUK != workExecuteRecordDicUKFreeValue) { long workExecuteRecordDicUV = workExecuteRecordDicUVValues[workExecuteRecordDicUKI]; long workExecuteRecordDicUW; long workExecuteRecordDicUU; workExecuteRecordDicUW = workExecuteRecordDicUK; workExecuteRecordDicUU = workExecuteRecordDicUV; workExecuteRecordDicUT.put(workExecuteRecordDicUW, workExecuteRecordDicUU); } } } } else { workExecuteRecordDicU = null; nullObjError("workExecuteRecordDicU"); } workExecuteRecordDicT.put(workExecuteRecordDicW, workExecuteRecordDicU); } } } } else { this.workExecuteRecordDic = null; nullObjError("workExecuteRecordDic"); } }