示例#1
0
文件: DBBoolean.cs 项目: ipbi/sones
 private void Serialize(ref SerializationWriter mySerializationWriter, DBBoolean myValue)
 {
     mySerializationWriter.WriteBoolean((Boolean)myValue.Value);
 }
示例#2
0
 public void Serialize(ref SerializationWriter mySerializationWriter)
 {
     mySerializationWriter.WriteBoolean(IsBackwardEdge);
 }
示例#3
0
        public override void Serialize(ref SerializationWriter mySerializationWriter)
        {
            if (mySerializationWriter != null)
            {

                try
                {

                    ParentTypeUUID.Serialize(ref mySerializationWriter);
                    mySerializationWriter.WriteBoolean(_IsUserDefined);
                    mySerializationWriter.WriteBoolean(_IsAbstract);
                    mySerializationWriter.WriteString(_Comment);

                    mySerializationWriter.WriteUInt32((UInt32)_Attributes.Count);

                    foreach (var pValPair in _Attributes)
                    {
                        pValPair.Key.Serialize(ref mySerializationWriter);
                        pValPair.Value.Serialize(ref mySerializationWriter);
                    }

                    mySerializationWriter.WriteUInt32((UInt32)_TypeSettings.Count);

                    foreach (var pValPair in _TypeSettings)
                        mySerializationWriter.WriteObject(pValPair.Value);

                    mySerializationWriter.WriteUInt32((UInt32)_UniqueAttributes.Count);

                    foreach (var pValPair in _UniqueAttributes)
                        pValPair.Serialize(ref mySerializationWriter);

                    mySerializationWriter.WriteUInt32((UInt32)_MandatoryAttributes.Count);

                    foreach (var pValPair in _MandatoryAttributes)
                        pValPair.Serialize(ref mySerializationWriter);

                    mySerializationWriter.WriteUInt16((UInt16)ObjectDirectoryShards);

                    #region Indices

                    mySerializationWriter.WriteUInt32((UInt32)_AttributeIndices.Count);

                    foreach (var idx in _AttributeIndices)
                    {
                        idx.Key.Serialize(ref mySerializationWriter);

                        mySerializationWriter.WriteUInt32((UInt32)idx.Value.Count);
                        foreach (var idxType in idx.Value)
                        {
                            mySerializationWriter.WriteString(idxType.Key);
                            mySerializationWriter.WriteString(idxType.Value.FileSystemLocation.ToString());
                            mySerializationWriter.WriteString(idxType.Value.IndexEdition);
                            mySerializationWriter.WriteString(idxType.Value.IndexName);
                            mySerializationWriter.WriteString(idxType.Value.IndexType);
                            mySerializationWriter.WriteBoolean(idxType.Value is UUIDIndex);
                            mySerializationWriter.WriteUInt64(idxType.Value.GetKeyCount());
                            mySerializationWriter.WriteUInt64(idxType.Value.GetValueCount());
                            mySerializationWriter.WriteUInt16(idxType.Value.AttributeIdxShards);
                        }
                    }

                    #endregion

                }

                catch (Exception e)
                {
                    throw new SerializationException("The GraphDBType could not be serialized!\n\n" + e);
                }

            }
        }
示例#4
0
        public void Serialize(ref SerializationWriter mySerializationWriter)
        {
            if (mySerializationWriter != null)
            {

                UUID.Serialize(ref mySerializationWriter);
                DBTypeUUID.Serialize(ref mySerializationWriter);
                mySerializationWriter.WriteByte((byte)KindOfType);
                TypeCharacteristics.Serialize(ref mySerializationWriter);

                mySerializationWriter.WriteString(Name);

                mySerializationWriter.WriteBoolean(EdgeType != null);
                if (EdgeType != null)
                    mySerializationWriter.WriteObject(EdgeType);

                RelatedGraphDBTypeUUID.Serialize(ref mySerializationWriter);

                if (TypeCharacteristics.IsBackwardEdge)
                    mySerializationWriter.WriteObject(BackwardEdgeDefinition);

                mySerializationWriter.WriteObject(DefaultValue);

                // Write Settings
                mySerializationWriter.WriteUInt32((UInt32)_Settings.Count);
                foreach (var _KVPair in _Settings)
                    mySerializationWriter.WriteObject(_KVPair.Value);
            }
        }