Exemplo n.º 1
0
        public INodeWriter CreateListElement(string typeName, int valueID, ISerialiserNode parentNode)
        {
            var node = CreateListElement(typeName, parentNode);

            node.AddAttribute("ID", valueID.ToString());
            return(node);
        }
Exemplo n.º 2
0
        public INodeWriter CreateAppObjectElement(string typeName, int objectID, ISerialiserNode parentNode)
        {
            var classNode = CreateTypedElement("appObject", typeName, parentNode);

            classNode.AddAttribute("ID", objectID.ToString());
            return(classNode);
        }
Exemplo n.º 3
0
        public INodeWriter CreateClassElement(string typeName, int objectID, ISerialiserNode parentNode)
        {
            var classNode = CreateBaseClassElement(typeName, parentNode);

            classNode.AddAttribute("ID", objectID.ToString());
            return(classNode);
        }
Exemplo n.º 4
0
 public void WriteMembers(object instance, ISerialiserNode parentNode, Type type)
 {
     var typeName = typeNamesCache.GetTypeName(type);
     using (var listNode = ownerDocument.CreateListElement(typeName, parentNode))
     {
         WriteItems(listNode, (IList) instance);
     }
 }
Exemplo n.º 5
0
        public void WriteMembers(object instance, ISerialiserNode parentNode, Type type)
        {
            var typeName = typeNamesCache.GetTypeName(type);

            using (var dictNode = ownerDocument.CreateTypedElement("dict", typeName, parentNode))
            {
                WriteItems(dictNode, (IDictionary)instance);
            }
        }
Exemplo n.º 6
0
        public void WriteMembers(object instance, ISerialiserNode parentNode, Type type)
        {
            var typeName = typeNamesCache.GetTypeName(type);

            using (var listNode = ownerDocument.CreateListElement(typeName, parentNode))
            {
                WriteItems(listNode, (IList)instance);
            }
        }
Exemplo n.º 7
0
        public void WriteMembers(object instance, ISerialiserNode parentNode, Type type)
        {
            var typeName = typeNamesCache.GetTypeName(type);

            using (var dictNode = ownerDocument.CreateTypedElement("dict", typeName, parentNode))
            {
                WriteItems(dictNode, (IDictionary) instance);
            }
        }
Exemplo n.º 8
0
        public NXmlDocument()
        {
            document.RemoveAll();

            rootNode = new NXmlNode(this, document.CreateElement(rootNodeName));
            var attribute = document.CreateAttribute("version");
            attribute.Value = version.ToString();
            rootNode.Attributes.Append(attribute);
            AppendChild(rootNode);
        }
Exemplo n.º 9
0
        public INodeWriter CreateElement(string name, ISerialiserNode parentNode)
        {
            var newbornElement = document.CreateElement(name);

            parentNode.AppendChild(name);

            var newborn = new NXmlNodeWriter(parentNode.Depth + 1, name);

            newborn.BeginWrite(streamWriter);
            return(newborn);
        }
Exemplo n.º 10
0
        public NXmlDocument()
        {
            document.RemoveAll();

            rootNode = new NXmlNode(this, document.CreateElement(rootNodeName));
            var attribute = document.CreateAttribute("version");

            attribute.Value = version.ToString();
            rootNode.Attributes.Append(attribute);
            AppendChild(rootNode);
        }
Exemplo n.º 11
0
        private void WriteItems(ISerialiserNode dictNode, IDictionary items)
        {
            using (var itemsNode = ownerDocument.CreateElement("items", dictNode))
            {
                itemsNode.AddAttribute("count", items.Count);

                foreach (DictionaryEntry item in items)
                {
                    objectWriter.Write(item.Key, itemsNode, item.Key.GetType());
                    objectWriter.Write(item.Value, itemsNode, item.Value.GetType());
                }
            }
        }
Exemplo n.º 12
0
        public void WriteMembers(object instance, ISerialiserNode parentNode, Type type)
        {
            var typeName = typeNamesCache.GetTypeName(type);

            using (
                var baseClassNode = ownerDocument.CreateBaseClassElement(typeName, parentNode))
            {
                using (var membersNode = ownerDocument.CreateMembersElement(baseClassNode))
                {
                    memberWriter.Write(instance, membersNode, type);
                }
                baseTypeMembersWriter.WriteMembers(instance, baseClassNode, type);
            }
        }
Exemplo n.º 13
0
        public void WriteMembers(object instance, ISerialiserNode parentNode, Type type)
        {
            var typeName = typeNamesCache.GetTypeName(type);

            using (
                var baseClassNode = ownerDocument.CreateBaseClassElement(typeName, parentNode))
            {
                using (var membersNode = ownerDocument.CreateMembersElement(baseClassNode))
                {
                    memberWriter.Write(instance, membersNode, type);
                }
                baseTypeMembersWriter.WriteMembers(instance, baseClassNode, type);
            }
        }
Exemplo n.º 14
0
        public void Write(object owningObject, ISerialiserNode parentNode, MemberInfo memberInfo)
        {
            var fieldInfo = memberInfo as FieldInfo;
            if (fieldInfo != null)
            {
                var fieldValue = fieldInfo.GetValue(owningObject);

                using (var node = ownerDocument.CreateElement("f", parentNode))
                {
                    node.AddAttribute("name", fieldInfo.Name);

                    var type = fieldValue == null ? new NullType() : fieldInfo.FieldType;
                    objectWriter.Write(fieldValue, node, type);
                }
            }
        }
Exemplo n.º 15
0
        public void Write(object owningObject, ISerialiserNode parentNode, MemberInfo memberInfo)
        {
            var fieldInfo = memberInfo as FieldInfo;

            if (fieldInfo != null)
            {
                var fieldValue = fieldInfo.GetValue(owningObject);

                using (var node = ownerDocument.CreateElement("f", parentNode))
                {
                    node.AddAttribute("name", fieldInfo.Name);

                    var type = fieldValue == null ? new NullType() : fieldInfo.FieldType;
                    objectWriter.Write(fieldValue, node, type);
                }
            }
        }
Exemplo n.º 16
0
 public void WriteMembers(object instance, ISerialiserNode parentNode, Type type)
 {
     type = type.BaseType;
     if (TypeIsSerializable(type))
     {
         foreach (var baseTypeMembersWriter in baseTypeMembersWriters)
         {
             if (baseTypeMembersWriter.CanWriteMembers(instance, type))
             {
                 using (var baseNode = ownerDocument.CreateElement("base", parentNode))
                 {
                     baseTypeMembersWriter.WriteMembers(instance, baseNode, type);
                 }
                 break;
             }
         }
     }
 }
Exemplo n.º 17
0
        public void Write(object owningObject, ISerialiserNode parentNode, Type type)
        {
            var typeAccessor = new TypeAccessor(type, null);

            var memberInfos = typeAccessor.GetMembers();
            foreach (var memberInfo in memberInfos)
            {
                if (memberInfo.GetCustomAttributes(typeof (NSerializerIgnoreAttribute), false).Length != 1)
                {
                    foreach (var writer in writers)
                    {
                        if (writer.CanWrite(owningObject, memberInfo))
                        {
                            writer.Write(owningObject, parentNode, memberInfo);
                            break;
                        }
                    }
                }
            }
        }
Exemplo n.º 18
0
        public void Write(object owningObject, ISerialiserNode parentNode, Type type)
        {
            var typeAccessor = new TypeAccessor(type, null);

            var memberInfos = typeAccessor.GetMembers();

            foreach (var memberInfo in memberInfos)
            {
                if (memberInfo.GetCustomAttributes(typeof(NSerializerIgnoreAttribute), false).Length != 1)
                {
                    foreach (var writer in writers)
                    {
                        if (writer.CanWrite(owningObject, memberInfo))
                        {
                            writer.Write(owningObject, parentNode, memberInfo);
                            break;
                        }
                    }
                }
            }
        }
Exemplo n.º 19
0
        public void AppendChild(ISerialiserNode node)
        {
            var child = (INXmlNode)node;

            xmlElement.AppendChild(child.Element);
        }
Exemplo n.º 20
0
 protected void SetChildNodes(ISerialiserNode node, params ISerialiserNode[] children)
 {
     Stub.On(node).GetProperty("ChildNodes").Will(Return.Value(children));
 }
Exemplo n.º 21
0
 public INodeWriter CreateMembersElement(ISerialiserNode parentNode)
 {
     return(CreateElement("members", parentNode));
 }
Exemplo n.º 22
0
        public INodeWriter CreateElement(string name, ISerialiserNode parentNode)
        {
            var newbornElement = document.CreateElement(name);
            parentNode.AppendChild(name);

            var newborn = new NXmlNodeWriter(parentNode.Depth + 1, name);

            newborn.BeginWrite(streamWriter);
            return newborn;
        }
Exemplo n.º 23
0
 public INodeWriter CreateBaseClassElement(string typeName, ISerialiserNode parentNode)
 {
     return CreateTypedElement("c", typeName, parentNode);
 }
Exemplo n.º 24
0
 public INodeWriter CreateAppObjectElement(string typeName, int objectID, ISerialiserNode parentNode)
 {
     var classNode = CreateTypedElement("appObject", typeName, parentNode);
     classNode.AddAttribute("ID", objectID.ToString());
     return classNode;
 }
Exemplo n.º 25
0
 public INodeWriter CreateObjectRefernceElement(ISerialiserNode parentNode)
 {
     return(CreateElement("objref", parentNode));
 }
Exemplo n.º 26
0
 public INodeWriter CreateListElement(string typeName, ISerialiserNode parentNode)
 {
     return CreateTypedElement("list", typeName, parentNode);
 }
Exemplo n.º 27
0
 public INodeWriter CreateListElement(string typeName, ISerialiserNode parentNode)
 {
     return(CreateTypedElement("list", typeName, parentNode));
 }
Exemplo n.º 28
0
 public void WriteMembers(object instance, ISerialiserNode parentNode, Type type)
 {
     baseTypeMemberWriter.WriteMembers(instance, parentNode, type);
 }
Exemplo n.º 29
0
 public INodeWriter CreateNullValueElement(ISerialiserNode parentNode)
 {
     return(CreateElement("null", parentNode));
 }
Exemplo n.º 30
0
 public INodeWriter CreateBaseClassElement(string typeName, ISerialiserNode parentNode)
 {
     return(CreateTypedElement("c", typeName, parentNode));
 }
Exemplo n.º 31
0
 public INodeWriter CreateNullValueElement(ISerialiserNode parentNode)
 {
     return CreateElement("null", parentNode);
 }
Exemplo n.º 32
0
 public INodeWriter CreateTypedElement(string name, string typeName, ISerialiserNode parentNode)
 {
     return new NXmlTypedElementWriter(CreateElement(name, parentNode), typeName, streamWriter,
                                       parentNode.Depth + 1);
 }
Exemplo n.º 33
0
 public INodeWriter CreateMembersElement(ISerialiserNode parentNode)
 {
     return CreateElement("members", parentNode);
 }
Exemplo n.º 34
0
 public INodeWriter CreateTypedElement(string name, string typeName, ISerialiserNode parentNode)
 {
     return(new NXmlTypedElementWriter(CreateElement(name, parentNode), typeName, streamWriter,
                                       parentNode.Depth + 1));
 }
Exemplo n.º 35
0
 public INodeWriter CreateObjectRefernceElement(ISerialiserNode parentNode)
 {
     return CreateElement("objref", parentNode);
 }
Exemplo n.º 36
0
 public void WriteMembers(object instance, ISerialiserNode parentNode, Type type)
 {
     baseTypeMemberWriter.WriteMembers(instance, parentNode, type);
 }
Exemplo n.º 37
0
 public INodeWriter CreateValueElement(string typeName, ISerialiserNode parentNode)
 {
     return CreateTypedElement("value", typeName, parentNode);
 }
Exemplo n.º 38
0
 public NXmlTypedElement(ISerialiserNode node, string typeName)
 {
     this.node = node;
     node.AddAttribute("type", typeName);
 }
Exemplo n.º 39
0
 public INodeWriter CreateArrayElement(string typeName, int valueID, ISerialiserNode parentNode)
 {
     var node = CreateTypedElement("array", typeName, parentNode);
     node.AddAttribute("ID", valueID.ToString());
     return node;
 }
Exemplo n.º 40
0
 public NXmlTypedElement(ISerialiserNode node, string typeName)
 {
     this.node = node;
     node.AddAttribute("type", typeName);
 }
Exemplo n.º 41
0
 public INodeWriter CreateClassElement(string typeName, int objectID, ISerialiserNode parentNode)
 {
     var classNode = CreateBaseClassElement(typeName, parentNode);
     classNode.AddAttribute("ID", objectID.ToString());
     return classNode;
 }
Exemplo n.º 42
0
        private void WriteItems(ISerialiserNode dictNode, IDictionary items)
        {
            using (var itemsNode = ownerDocument.CreateElement("items", dictNode))
            {
                itemsNode.AddAttribute("count", items.Count);

                foreach (DictionaryEntry item in items)
                {
                    objectWriter.Write(item.Key, itemsNode, item.Key.GetType());
                    objectWriter.Write(item.Value, itemsNode, item.Value.GetType());
                }
            }
        }
Exemplo n.º 43
0
 private void AppendChild(ISerialiserNode node)
 {
     node.AppendToDocument(this);
 }
Exemplo n.º 44
0
 public INodeWriter CreateValueElement(string typeName, ISerialiserNode parentNode)
 {
     return(CreateTypedElement("value", typeName, parentNode));
 }
Exemplo n.º 45
0
 private byte[] SaveAsBinary(ISerialiserNode node)
 {
     return(new BinaryNode(node).GetBytes());
 }
Exemplo n.º 46
0
 private void AppendChild(ISerialiserNode node)
 {
     node.AppendToDocument(this);
 }
Exemplo n.º 47
0
 public void WriteMembers(object instance, ISerialiserNode parentNode, Type type)
 {
     type = type.BaseType;
     if (TypeIsSerializable(type))
     {
         foreach (var baseTypeMembersWriter in baseTypeMembersWriters)
         {
             if (baseTypeMembersWriter.CanWriteMembers(instance, type))
             {
                 using (var baseNode = ownerDocument.CreateElement("base", parentNode))
                 {
                     baseTypeMembersWriter.WriteMembers(instance, baseNode, type);
                 }
                 break;
             }
         }
     }
 }
Exemplo n.º 48
0
 private byte[] SaveAsBinary(ISerialiserNode node)
 {
     return new BinaryNode(node).GetBytes();
 }
Exemplo n.º 49
0
 public void AppendChild(ISerialiserNode childNode)
 {
     node.AppendChild(childNode);
 }
Exemplo n.º 50
0
 protected void SetChildNodes(ISerialiserNode node, params ISerialiserNode[] children)
 {
     Stub.On(node).GetProperty("ChildNodes").Will(Return.Value(children));
 }
Exemplo n.º 51
0
 public void AppendChild(ISerialiserNode childNode)
 {
     node.AppendChild(childNode);
 }
Exemplo n.º 52
0
 public void AppendChild(ISerialiserNode node)
 {
     var child = (INXmlNode) node;
     xmlElement.AppendChild(child.Element);
 }