示例#1
0
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.Struct)
                        {
                            Ref = new TDDIAbstractAssuranceCasePackage();
                            Ref.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }
示例#2
0
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.String)
                        {
                            Gid = iprot.ReadString();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.Bool)
                        {
                            IsCitation = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.Bool)
                        {
                            IsAbstract = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.Struct)
                        {
                            CitedElement = new TDDIAbstractSACMElement();
                            CitedElement.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 5:
                        if (field.Type == TType.Struct)
                        {
                            AbstractForm = new TDDIAbstractSACMElement();
                            AbstractForm.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.Struct)
                        {
                            Name = new TDDIAbstractLangString();
                            Name.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 7:
                        if (field.Type == TType.Struct)
                        {
                            Description = new TDDIDescription();
                            Description.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 8:
                        if (field.Type == TType.List)
                        {
                            {
                                ImplementationConstraint = new List <TDDIImplementationConstraintRef>();
                                TList _list1152 = iprot.ReadListBegin();
                                for (int _i1153 = 0; _i1153 < _list1152.Count; ++_i1153)
                                {
                                    TDDIImplementationConstraintRef _elem1154;
                                    _elem1154 = new TDDIImplementationConstraintRef();
                                    _elem1154.Read(iprot);
                                    ImplementationConstraint.Add(_elem1154);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 9:
                        if (field.Type == TType.List)
                        {
                            {
                                Note = new List <TDDINoteRef>();
                                TList _list1155 = iprot.ReadListBegin();
                                for (int _i1156 = 0; _i1156 < _list1155.Count; ++_i1156)
                                {
                                    TDDINoteRef _elem1157;
                                    _elem1157 = new TDDINoteRef();
                                    _elem1157.Read(iprot);
                                    Note.Add(_elem1157);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 10:
                        if (field.Type == TType.List)
                        {
                            {
                                TaggedValue = new List <TDDITaggedValueRef>();
                                TList _list1158 = iprot.ReadListBegin();
                                for (int _i1159 = 0; _i1159 < _list1158.Count; ++_i1159)
                                {
                                    TDDITaggedValueRef _elem1160;
                                    _elem1160 = new TDDITaggedValueRef();
                                    _elem1160.Read(iprot);
                                    TaggedValue.Add(_elem1160);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 11:
                        if (field.Type == TType.List)
                        {
                            {
                                AssuranceCasePackage = new List <TDDIAbstractAssuranceCasePackage>();
                                TList _list1161 = iprot.ReadListBegin();
                                for (int _i1162 = 0; _i1162 < _list1161.Count; ++_i1162)
                                {
                                    TDDIAbstractAssuranceCasePackage _elem1163;
                                    _elem1163 = new TDDIAbstractAssuranceCasePackage();
                                    _elem1163.Read(iprot);
                                    AssuranceCasePackage.Add(_elem1163);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 12:
                        if (field.Type == TType.List)
                        {
                            {
                                Interface = new List <TDDIAssuranceCasePackageInterfaceRef>();
                                TList _list1164 = iprot.ReadListBegin();
                                for (int _i1165 = 0; _i1165 < _list1164.Count; ++_i1165)
                                {
                                    TDDIAssuranceCasePackageInterfaceRef _elem1166;
                                    _elem1166 = new TDDIAssuranceCasePackageInterfaceRef();
                                    _elem1166.Read(iprot);
                                    Interface.Add(_elem1166);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 13:
                        if (field.Type == TType.List)
                        {
                            {
                                ArtifactPackage = new List <TDDIAbstractArtifactPackage>();
                                TList _list1167 = iprot.ReadListBegin();
                                for (int _i1168 = 0; _i1168 < _list1167.Count; ++_i1168)
                                {
                                    TDDIAbstractArtifactPackage _elem1169;
                                    _elem1169 = new TDDIAbstractArtifactPackage();
                                    _elem1169.Read(iprot);
                                    ArtifactPackage.Add(_elem1169);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 14:
                        if (field.Type == TType.List)
                        {
                            {
                                ArgumentPackage = new List <TDDIAbstractArgumentPackage>();
                                TList _list1170 = iprot.ReadListBegin();
                                for (int _i1171 = 0; _i1171 < _list1170.Count; ++_i1171)
                                {
                                    TDDIAbstractArgumentPackage _elem1172;
                                    _elem1172 = new TDDIAbstractArgumentPackage();
                                    _elem1172.Read(iprot);
                                    ArgumentPackage.Add(_elem1172);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 15:
                        if (field.Type == TType.List)
                        {
                            {
                                TerminologyPackage = new List <TDDIAbstractTerminologyPackage>();
                                TList _list1173 = iprot.ReadListBegin();
                                for (int _i1174 = 0; _i1174 < _list1173.Count; ++_i1174)
                                {
                                    TDDIAbstractTerminologyPackage _elem1175;
                                    _elem1175 = new TDDIAbstractTerminologyPackage();
                                    _elem1175.Read(iprot);
                                    TerminologyPackage.Add(_elem1175);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.String)
                        {
                            Gid = iprot.ReadString();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.Bool)
                        {
                            IsCitation = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.Bool)
                        {
                            IsAbstract = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.Struct)
                        {
                            CitedElement = new TDDIAbstractSACMElement();
                            CitedElement.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 5:
                        if (field.Type == TType.Struct)
                        {
                            AbstractForm = new TDDIAbstractSACMElement();
                            AbstractForm.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.Struct)
                        {
                            Name = new TDDIAbstractLangString();
                            Name.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 7:
                        if (field.Type == TType.Struct)
                        {
                            Description = new TDDIDescription();
                            Description.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 8:
                        if (field.Type == TType.List)
                        {
                            {
                                ImplementationConstraint = new List <TDDIImplementationConstraintRef>();
                                TList _list1404 = iprot.ReadListBegin();
                                for (int _i1405 = 0; _i1405 < _list1404.Count; ++_i1405)
                                {
                                    TDDIImplementationConstraintRef _elem1406;
                                    _elem1406 = new TDDIImplementationConstraintRef();
                                    _elem1406.Read(iprot);
                                    ImplementationConstraint.Add(_elem1406);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 9:
                        if (field.Type == TType.List)
                        {
                            {
                                Note = new List <TDDINoteRef>();
                                TList _list1407 = iprot.ReadListBegin();
                                for (int _i1408 = 0; _i1408 < _list1407.Count; ++_i1408)
                                {
                                    TDDINoteRef _elem1409;
                                    _elem1409 = new TDDINoteRef();
                                    _elem1409.Read(iprot);
                                    Note.Add(_elem1409);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 10:
                        if (field.Type == TType.List)
                        {
                            {
                                TaggedValue = new List <TDDITaggedValueRef>();
                                TList _list1410 = iprot.ReadListBegin();
                                for (int _i1411 = 0; _i1411 < _list1410.Count; ++_i1411)
                                {
                                    TDDITaggedValueRef _elem1412;
                                    _elem1412 = new TDDITaggedValueRef();
                                    _elem1412.Read(iprot);
                                    TaggedValue.Add(_elem1412);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 11:
                        if (field.Type == TType.List)
                        {
                            {
                                AssuranceCasePackage = new List <TDDIAbstractAssuranceCasePackageRef>();
                                TList _list1413 = iprot.ReadListBegin();
                                for (int _i1414 = 0; _i1414 < _list1413.Count; ++_i1414)
                                {
                                    TDDIAbstractAssuranceCasePackageRef _elem1415;
                                    _elem1415 = new TDDIAbstractAssuranceCasePackageRef();
                                    _elem1415.Read(iprot);
                                    AssuranceCasePackage.Add(_elem1415);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 12:
                        if (field.Type == TType.List)
                        {
                            {
                                Interface = new List <TDDIAssuranceCasePackageInterfaceRef>();
                                TList _list1416 = iprot.ReadListBegin();
                                for (int _i1417 = 0; _i1417 < _list1416.Count; ++_i1417)
                                {
                                    TDDIAssuranceCasePackageInterfaceRef _elem1418;
                                    _elem1418 = new TDDIAssuranceCasePackageInterfaceRef();
                                    _elem1418.Read(iprot);
                                    Interface.Add(_elem1418);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 13:
                        if (field.Type == TType.List)
                        {
                            {
                                ArtifactPackage = new List <TDDIAbstractArtifactPackageRef>();
                                TList _list1419 = iprot.ReadListBegin();
                                for (int _i1420 = 0; _i1420 < _list1419.Count; ++_i1420)
                                {
                                    TDDIAbstractArtifactPackageRef _elem1421;
                                    _elem1421 = new TDDIAbstractArtifactPackageRef();
                                    _elem1421.Read(iprot);
                                    ArtifactPackage.Add(_elem1421);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 14:
                        if (field.Type == TType.List)
                        {
                            {
                                ArgumentPackage = new List <TDDIAbstractArgumentPackageRef>();
                                TList _list1422 = iprot.ReadListBegin();
                                for (int _i1423 = 0; _i1423 < _list1422.Count; ++_i1423)
                                {
                                    TDDIAbstractArgumentPackageRef _elem1424;
                                    _elem1424 = new TDDIAbstractArgumentPackageRef();
                                    _elem1424.Read(iprot);
                                    ArgumentPackage.Add(_elem1424);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 15:
                        if (field.Type == TType.List)
                        {
                            {
                                TerminologyPackage = new List <TDDIAbstractTerminologyPackageRef>();
                                TList _list1425 = iprot.ReadListBegin();
                                for (int _i1426 = 0; _i1426 < _list1425.Count; ++_i1426)
                                {
                                    TDDIAbstractTerminologyPackageRef _elem1427;
                                    _elem1427 = new TDDIAbstractTerminologyPackageRef();
                                    _elem1427.Read(iprot);
                                    TerminologyPackage.Add(_elem1427);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 16:
                        if (field.Type == TType.Struct)
                        {
                            Implements = new TDDIAbstractAssuranceCasePackage();
                            Implements.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.I64)
                        {
                            Id = iprot.ReadI64();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.String)
                        {
                            Name = iprot.ReadString();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.String)
                        {
                            Description = iprot.ReadString();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.List)
                        {
                            {
                                KeyValueMaps = new List <TDDIKeyValueMap>();
                                TList _list600 = iprot.ReadListBegin();
                                for (int _i601 = 0; _i601 < _list600.Count; ++_i601)
                                {
                                    TDDIKeyValueMap _elem602;
                                    _elem602 = new TDDIKeyValueMap();
                                    _elem602.Read(iprot);
                                    KeyValueMaps.Add(_elem602);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 5:
                        if (field.Type == TType.List)
                        {
                            {
                                ODEProductPackages = new List <TDDIAbstractODEProductPackage>();
                                TList _list603 = iprot.ReadListBegin();
                                for (int _i604 = 0; _i604 < _list603.Count; ++_i604)
                                {
                                    TDDIAbstractODEProductPackage _elem605;
                                    _elem605 = new TDDIAbstractODEProductPackage();
                                    _elem605.Read(iprot);
                                    ODEProductPackages.Add(_elem605);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.List)
                        {
                            {
                                AssuranceCasePackages = new List <TDDIAbstractAssuranceCasePackage>();
                                TList _list606 = iprot.ReadListBegin();
                                for (int _i607 = 0; _i607 < _list606.Count; ++_i607)
                                {
                                    TDDIAbstractAssuranceCasePackage _elem608;
                                    _elem608 = new TDDIAbstractAssuranceCasePackage();
                                    _elem608.Read(iprot);
                                    AssuranceCasePackages.Add(_elem608);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.String)
                        {
                            Gid = iprot.ReadString();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.Bool)
                        {
                            IsCitation = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.Bool)
                        {
                            IsAbstract = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.Struct)
                        {
                            CitedElement = new TDDIAbstractSACMElement();
                            CitedElement.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 5:
                        if (field.Type == TType.Struct)
                        {
                            AbstractForm = new TDDIAbstractSACMElement();
                            AbstractForm.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.Struct)
                        {
                            Name = new TDDIAbstractLangString();
                            Name.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 7:
                        if (field.Type == TType.Struct)
                        {
                            Description = new TDDIDescription();
                            Description.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 8:
                        if (field.Type == TType.List)
                        {
                            {
                                ImplementationConstraint = new List <TDDIImplementationConstraintRef>();
                                TList _list1216 = iprot.ReadListBegin();
                                for (int _i1217 = 0; _i1217 < _list1216.Count; ++_i1217)
                                {
                                    TDDIImplementationConstraintRef _elem1218;
                                    _elem1218 = new TDDIImplementationConstraintRef();
                                    _elem1218.Read(iprot);
                                    ImplementationConstraint.Add(_elem1218);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 9:
                        if (field.Type == TType.List)
                        {
                            {
                                Note = new List <TDDINoteRef>();
                                TList _list1219 = iprot.ReadListBegin();
                                for (int _i1220 = 0; _i1220 < _list1219.Count; ++_i1220)
                                {
                                    TDDINoteRef _elem1221;
                                    _elem1221 = new TDDINoteRef();
                                    _elem1221.Read(iprot);
                                    Note.Add(_elem1221);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 10:
                        if (field.Type == TType.List)
                        {
                            {
                                TaggedValue = new List <TDDITaggedValueRef>();
                                TList _list1222 = iprot.ReadListBegin();
                                for (int _i1223 = 0; _i1223 < _list1222.Count; ++_i1223)
                                {
                                    TDDITaggedValueRef _elem1224;
                                    _elem1224 = new TDDITaggedValueRef();
                                    _elem1224.Read(iprot);
                                    TaggedValue.Add(_elem1224);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 11:
                        if (field.Type == TType.List)
                        {
                            {
                                AssuranceCasePackage = new List <TDDIAbstractAssuranceCasePackage>();
                                TList _list1225 = iprot.ReadListBegin();
                                for (int _i1226 = 0; _i1226 < _list1225.Count; ++_i1226)
                                {
                                    TDDIAbstractAssuranceCasePackage _elem1227;
                                    _elem1227 = new TDDIAbstractAssuranceCasePackage();
                                    _elem1227.Read(iprot);
                                    AssuranceCasePackage.Add(_elem1227);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 12:
                        if (field.Type == TType.List)
                        {
                            {
                                Interface = new List <TDDIAssuranceCasePackageInterfaceRef>();
                                TList _list1228 = iprot.ReadListBegin();
                                for (int _i1229 = 0; _i1229 < _list1228.Count; ++_i1229)
                                {
                                    TDDIAssuranceCasePackageInterfaceRef _elem1230;
                                    _elem1230 = new TDDIAssuranceCasePackageInterfaceRef();
                                    _elem1230.Read(iprot);
                                    Interface.Add(_elem1230);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 13:
                        if (field.Type == TType.List)
                        {
                            {
                                ArtifactPackage = new List <TDDIAbstractArtifactPackage>();
                                TList _list1231 = iprot.ReadListBegin();
                                for (int _i1232 = 0; _i1232 < _list1231.Count; ++_i1232)
                                {
                                    TDDIAbstractArtifactPackage _elem1233;
                                    _elem1233 = new TDDIAbstractArtifactPackage();
                                    _elem1233.Read(iprot);
                                    ArtifactPackage.Add(_elem1233);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 14:
                        if (field.Type == TType.List)
                        {
                            {
                                ArgumentPackage = new List <TDDIAbstractArgumentPackage>();
                                TList _list1234 = iprot.ReadListBegin();
                                for (int _i1235 = 0; _i1235 < _list1234.Count; ++_i1235)
                                {
                                    TDDIAbstractArgumentPackage _elem1236;
                                    _elem1236 = new TDDIAbstractArgumentPackage();
                                    _elem1236.Read(iprot);
                                    ArgumentPackage.Add(_elem1236);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 15:
                        if (field.Type == TType.List)
                        {
                            {
                                TerminologyPackage = new List <TDDIAbstractTerminologyPackage>();
                                TList _list1237 = iprot.ReadListBegin();
                                for (int _i1238 = 0; _i1238 < _list1237.Count; ++_i1238)
                                {
                                    TDDIAbstractTerminologyPackage _elem1239;
                                    _elem1239 = new TDDIAbstractTerminologyPackage();
                                    _elem1239.Read(iprot);
                                    TerminologyPackage.Add(_elem1239);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 16:
                        if (field.Type == TType.List)
                        {
                            {
                                ParticipantPackage = new List <TDDIAbstractAssuranceCasePackageRef>();
                                TList _list1240 = iprot.ReadListBegin();
                                for (int _i1241 = 0; _i1241 < _list1240.Count; ++_i1241)
                                {
                                    TDDIAbstractAssuranceCasePackageRef _elem1242;
                                    _elem1242 = new TDDIAbstractAssuranceCasePackageRef();
                                    _elem1242.Read(iprot);
                                    ParticipantPackage.Add(_elem1242);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.String)
                        {
                            Gid = iprot.ReadString();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.Bool)
                        {
                            IsCitation = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.Bool)
                        {
                            IsAbstract = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.Struct)
                        {
                            CitedElement = new TDDIAbstractSACMElement();
                            CitedElement.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 5:
                        if (field.Type == TType.Struct)
                        {
                            AbstractForm = new TDDIAbstractSACMElement();
                            AbstractForm.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.Struct)
                        {
                            Name = new TDDIAbstractLangString();
                            Name.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 7:
                        if (field.Type == TType.Struct)
                        {
                            Description = new TDDIDescription();
                            Description.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 8:
                        if (field.Type == TType.List)
                        {
                            {
                                ImplementationConstraint = new List <TDDIImplementationConstraintRef>();
                                TList _list1184 = iprot.ReadListBegin();
                                for (int _i1185 = 0; _i1185 < _list1184.Count; ++_i1185)
                                {
                                    TDDIImplementationConstraintRef _elem1186;
                                    _elem1186 = new TDDIImplementationConstraintRef();
                                    _elem1186.Read(iprot);
                                    ImplementationConstraint.Add(_elem1186);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 9:
                        if (field.Type == TType.List)
                        {
                            {
                                Note = new List <TDDINoteRef>();
                                TList _list1187 = iprot.ReadListBegin();
                                for (int _i1188 = 0; _i1188 < _list1187.Count; ++_i1188)
                                {
                                    TDDINoteRef _elem1189;
                                    _elem1189 = new TDDINoteRef();
                                    _elem1189.Read(iprot);
                                    Note.Add(_elem1189);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 10:
                        if (field.Type == TType.List)
                        {
                            {
                                TaggedValue = new List <TDDITaggedValueRef>();
                                TList _list1190 = iprot.ReadListBegin();
                                for (int _i1191 = 0; _i1191 < _list1190.Count; ++_i1191)
                                {
                                    TDDITaggedValueRef _elem1192;
                                    _elem1192 = new TDDITaggedValueRef();
                                    _elem1192.Read(iprot);
                                    TaggedValue.Add(_elem1192);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 11:
                        if (field.Type == TType.List)
                        {
                            {
                                AssuranceCasePackage = new List <TDDIAbstractAssuranceCasePackage>();
                                TList _list1193 = iprot.ReadListBegin();
                                for (int _i1194 = 0; _i1194 < _list1193.Count; ++_i1194)
                                {
                                    TDDIAbstractAssuranceCasePackage _elem1195;
                                    _elem1195 = new TDDIAbstractAssuranceCasePackage();
                                    _elem1195.Read(iprot);
                                    AssuranceCasePackage.Add(_elem1195);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 12:
                        if (field.Type == TType.List)
                        {
                            {
                                Interface = new List <TDDIAssuranceCasePackageInterfaceRef>();
                                TList _list1196 = iprot.ReadListBegin();
                                for (int _i1197 = 0; _i1197 < _list1196.Count; ++_i1197)
                                {
                                    TDDIAssuranceCasePackageInterfaceRef _elem1198;
                                    _elem1198 = new TDDIAssuranceCasePackageInterfaceRef();
                                    _elem1198.Read(iprot);
                                    Interface.Add(_elem1198);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 13:
                        if (field.Type == TType.List)
                        {
                            {
                                ArtifactPackage = new List <TDDIAbstractArtifactPackage>();
                                TList _list1199 = iprot.ReadListBegin();
                                for (int _i1200 = 0; _i1200 < _list1199.Count; ++_i1200)
                                {
                                    TDDIAbstractArtifactPackage _elem1201;
                                    _elem1201 = new TDDIAbstractArtifactPackage();
                                    _elem1201.Read(iprot);
                                    ArtifactPackage.Add(_elem1201);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 14:
                        if (field.Type == TType.List)
                        {
                            {
                                ArgumentPackage = new List <TDDIAbstractArgumentPackage>();
                                TList _list1202 = iprot.ReadListBegin();
                                for (int _i1203 = 0; _i1203 < _list1202.Count; ++_i1203)
                                {
                                    TDDIAbstractArgumentPackage _elem1204;
                                    _elem1204 = new TDDIAbstractArgumentPackage();
                                    _elem1204.Read(iprot);
                                    ArgumentPackage.Add(_elem1204);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 15:
                        if (field.Type == TType.List)
                        {
                            {
                                TerminologyPackage = new List <TDDIAbstractTerminologyPackage>();
                                TList _list1205 = iprot.ReadListBegin();
                                for (int _i1206 = 0; _i1206 < _list1205.Count; ++_i1206)
                                {
                                    TDDIAbstractTerminologyPackage _elem1207;
                                    _elem1207 = new TDDIAbstractTerminologyPackage();
                                    _elem1207.Read(iprot);
                                    TerminologyPackage.Add(_elem1207);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 16:
                        if (field.Type == TType.Struct)
                        {
                            Implements = new TDDIAbstractAssuranceCasePackage();
                            Implements.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.Struct)
                        {
                            TerminologyElement = new TDDIAbstractTerminologyElement();
                            TerminologyElement.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.Struct)
                        {
                            AssuranceCasePackage = new TDDIAbstractAssuranceCasePackage();
                            AssuranceCasePackage.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.Struct)
                        {
                            ArtifactPackage = new TDDIAbstractArtifactPackage();
                            ArtifactPackage.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.Struct)
                        {
                            ArtifactGroup = new TDDIArtifactGroup();
                            ArtifactGroup.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 5:
                        if (field.Type == TType.Struct)
                        {
                            ArtifactAsset = new TDDIAbstractArtifactAsset();
                            ArtifactAsset.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.Struct)
                        {
                            ArgumentationElement = new TDDIAbstractArgumentationElement();
                            ArgumentationElement.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }