/// <summary> /// 复制(潜拷贝) /// </summary> protected override void toShadowCopy(BaseData data) { base.toShadowCopy(data); if (!(data is SubsectionRankToolData)) { return; } SubsectionRankToolData mData = (SubsectionRankToolData)data; this.version = mData.version; this.listListMap = mData.listListMap; }
/// <summary> /// 是否数据一致 /// </summary> protected override bool toDataEquals(BaseData data) { if (!base.toDataEquals(data)) { return(false); } SubsectionRankToolData mData = (SubsectionRankToolData)data; if (this.version != mData.version) { return(false); } if (mData.listListMap != null) { if (this.listListMap == null) { return(false); } if (this.listListMap.size() != mData.listListMap.size()) { return(false); } IntObjectMap <SList <SList <RankData> > > listListMapR = mData.listListMap; if (!this.listListMap.isEmpty()) { int listListMapKFreeValue = this.listListMap.getFreeValue(); int[] listListMapKKeys = this.listListMap.getKeys(); SList <SList <RankData> >[] listListMapVValues = this.listListMap.getValues(); for (int listListMapKI = listListMapKKeys.Length - 1; listListMapKI >= 0; --listListMapKI) { int listListMapK = listListMapKKeys[listListMapKI]; if (listListMapK != listListMapKFreeValue) { SList <SList <RankData> > listListMapV = listListMapVValues[listListMapKI]; SList <SList <RankData> > listListMapU = listListMapR.get(listListMapK); if (listListMapU != null) { if (listListMapV == null) { return(false); } if (listListMapV.size() != listListMapU.size()) { return(false); } SList <SList <RankData> > listListMapVT = listListMapV; SList <SList <RankData> > listListMapVR = listListMapU; int listListMapVLen = listListMapVT.size(); for (int listListMapVI = 0; listListMapVI < listListMapVLen; ++listListMapVI) { SList <RankData> listListMapVU = listListMapVT.get(listListMapVI); SList <RankData> listListMapVV = listListMapVR.get(listListMapVI); if (listListMapVV != null) { if (listListMapVU == null) { return(false); } if (listListMapVU.size() != listListMapVV.size()) { return(false); } SList <RankData> listListMapVUT = listListMapVU; SList <RankData> listListMapVUR = listListMapVV; int listListMapVULen = listListMapVUT.size(); for (int listListMapVUI = 0; listListMapVUI < listListMapVULen; ++listListMapVUI) { RankData listListMapVUU = listListMapVUT.get(listListMapVUI); RankData listListMapVUV = listListMapVUR.get(listListMapVUI); if (listListMapVUV != null) { if (listListMapVUU == null) { return(false); } if (!listListMapVUU.dataEquals(listListMapVUV)) { return(false); } } else { if (listListMapVUU != null) { return(false); } } } } else { if (listListMapVU != null) { return(false); } } } } else { if (listListMapV != null) { return(false); } } } } } } else { if (this.listListMap != null) { return(false); } } return(true); }
/// <summary> /// 复制(深拷贝) /// </summary> protected override void toCopy(BaseData data) { base.toCopy(data); if (!(data is SubsectionRankToolData)) { return; } SubsectionRankToolData mData = (SubsectionRankToolData)data; this.version = mData.version; if (mData.listListMap != null) { if (this.listListMap != null) { this.listListMap.clear(); this.listListMap.ensureCapacity(mData.listListMap.size()); } else { this.listListMap = new IntObjectMap <SList <SList <RankData> > >(mData.listListMap.size()); } IntObjectMap <SList <SList <RankData> > > listListMapT = this.listListMap; if (!mData.listListMap.isEmpty()) { int listListMapKFreeValue = mData.listListMap.getFreeValue(); int[] listListMapKKeys = mData.listListMap.getKeys(); SList <SList <RankData> >[] listListMapVValues = mData.listListMap.getValues(); for (int listListMapKI = listListMapKKeys.Length - 1; listListMapKI >= 0; --listListMapKI) { int listListMapK = listListMapKKeys[listListMapKI]; if (listListMapK != listListMapKFreeValue) { SList <SList <RankData> > listListMapV = listListMapVValues[listListMapKI]; int listListMapW; SList <SList <RankData> > listListMapU; listListMapW = listListMapK; if (listListMapV != null) { listListMapU = new SList <SList <RankData> >(); SList <SList <RankData> > listListMapUT = listListMapU; if (!listListMapV.isEmpty()) { SList <RankData>[] listListMapUVValues = listListMapV.getValues(); for (int listListMapUVI = 0, listListMapUVLen = listListMapV.length(); listListMapUVI < listListMapUVLen; ++listListMapUVI) { SList <RankData> listListMapUV = listListMapUVValues[listListMapUVI]; SList <RankData> listListMapUU; if (listListMapUV != null) { listListMapUU = new SList <RankData>(); SList <RankData> listListMapUUT = listListMapUU; if (!listListMapUV.isEmpty()) { RankData[] listListMapUUVValues = listListMapUV.getValues(); for (int listListMapUUVI = 0, listListMapUUVLen = listListMapUV.length(); listListMapUUVI < listListMapUUVLen; ++listListMapUUVI) { RankData listListMapUUV = listListMapUUVValues[listListMapUUVI]; RankData listListMapUUU; if (listListMapUUV != null) { listListMapUUU = (RankData)listListMapUUV.clone(); } else { listListMapUUU = null; nullObjError("listListMapUUU"); } listListMapUUT.add(listListMapUUU); } } } else { listListMapUU = null; nullObjError("listListMapUU"); } listListMapUT.add(listListMapUU); } } } else { listListMapU = null; nullObjError("listListMapU"); } listListMapT.put(listListMapW, listListMapU); } } } } else { this.listListMap = null; nullObjError("listListMap"); } }