Example #1
0
    /// <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;
    }
Example #2
0
    /// <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);
    }
Example #3
0
    /// <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");
        }
    }