Ejemplo n.º 1
0
        /// <summary>
        ///   The write xml.
        /// </summary>
        /// <param name="writer"> The writer. </param>
        public void WriteXml(XmlWriter writer)
        {
            // Special case for reference decider.
            // TODO(co): Would be nice to capsule this inside the ReferenceTask class, but the xml node is written
            // before the ReferenceTask object gets the control.
            ReferenceTask referenceTask = this.task as ReferenceTask;

            if (referenceTask != null)
            {
                string typeString = referenceTask.TaskDescription != null
                                        ? referenceTask.TaskDescription.TypeName
                                        : typeof(ReferenceTask).AssemblyQualifiedName;
                writer.WriteAttributeString("type", typeString);
                string elementName = referenceTask.TaskDescription != null
                                         ? referenceTask.TaskDescription.ClassName
                                         : typeof(ReferenceTask).Name;

                XmlSerializer serializer = new XmlSerializer(typeof(ReferenceTask), new XmlRootAttribute(elementName));
                serializer.Serialize(writer, referenceTask);
            }
            else
            {
                XmlAnything <ITask> xmlWrapper = new XmlAnything <ITask>(this.task);
                xmlWrapper.WriteXml(writer);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PrototypeCivilizationFactory" /> class.
 /// </summary>
 public PrototypeCivilizationFactory()
 {
     this.protoCity             = new BasicCity(new Point(0, 0), null, null);
     XmlDepartDirectorPrototype = new XmlAnything <IDepartDirector>(new BasicDepartDirector());
     XmlStudentPrototype        = new XmlAnything <IStudent>(new BasicStudent(0, 0, 0, 0));
     XmlTeacherPrototype        = new XmlAnything <ITeacher>(new BasicTeacher(0, 0, 0, 0));
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PrototypeCivilizationFactory" /> class.
 /// </summary>
 /// <param name="protoCity">The proto city.</param>
 /// <param name="protoDepartDirector">The proto depart director.</param>
 /// <param name="protoStudent">The proto student.</param>
 /// <param name="protoTeacher">The proto teacher.</param>
 public PrototypeCivilizationFactory(
     ICity protoCity,
     IDepartDirector protoDepartDirector,
     IStudent protoStudent,
     ITeacher protoTeacher)
 {
     this.protoCity             = protoCity;
     XmlDepartDirectorPrototype = new XmlAnything <IDepartDirector>(protoDepartDirector);
     XmlStudentPrototype        = new XmlAnything <IStudent>(protoStudent);
     XmlTeacherPrototype        = new XmlAnything <ITeacher>(protoTeacher);
 }
Ejemplo n.º 4
0
        public void WriteXml(System.Xml.XmlWriter writer)
        {
            writer.WriteAttributeString("Width", size.X.ToString());
            writer.WriteAttributeString("Height", size.Y.ToString());

            for (int i = 0; i < size.X; ++i)
            {
                for (int j = 0; j < size.Y; ++j)
                {
                    var           container  = new XmlAnything <Square.Square>(squareMatrix[i, j]);
                    XmlSerializer serializer = new XmlSerializer(container.GetType());
                    serializer.Serialize(writer, container);
                }
            }
        }
Ejemplo n.º 5
0
 /// <summary>
 ///   The read xml.
 /// </summary>
 /// <param name="reader"> The reader. </param>
 public void ReadXml(XmlReader reader)
 {
     try
     {
         XmlAnything <ITask> xmlWrapper = new XmlAnything <ITask>();
         xmlWrapper.ReadXml(reader);
         this.task = xmlWrapper.Value;
     }
     catch (InvalidCastException)
     {
         if (OnXmlReadUnknownTask != null)
         {
             OnXmlReadUnknownTask(reader, out this.task);
         }
         else
         {
             throw;
         }
     }
 }
Ejemplo n.º 6
0
        /// <summary>
        ///   The write xml.
        /// </summary>
        /// <param name="writer"> The writer. </param>
        public void WriteXml(XmlWriter writer)
        {
            // Special case for reference decider.
            // TODO(co): Would be nice to capsule this inside the ReferenceTask class, but the xml node is written
            // before the ReferenceTask object gets the control.
            ReferenceTask referenceTask = this.task as ReferenceTask;
            if (referenceTask != null)
            {
                string typeString = referenceTask.TaskDescription != null
                                        ? referenceTask.TaskDescription.TypeName
                                        : typeof(ReferenceTask).AssemblyQualifiedName;
                writer.WriteAttributeString("type", typeString);
                string elementName = referenceTask.TaskDescription != null
                                         ? referenceTask.TaskDescription.ClassName
                                         : typeof(ReferenceTask).Name;

                XmlSerializer serializer = new XmlSerializer(typeof(ReferenceTask), new XmlRootAttribute(elementName));
                serializer.Serialize(writer, referenceTask);
            }
            else
            {
                XmlAnything<ITask> xmlWrapper = new XmlAnything<ITask>(this.task);
                xmlWrapper.WriteXml(writer);
            }
        }
Ejemplo n.º 7
0
 /// <summary>
 ///   The read xml.
 /// </summary>
 /// <param name="reader"> The reader. </param>
 public void ReadXml(XmlReader reader)
 {
     try
     {
         XmlAnything<ITask> xmlWrapper = new XmlAnything<ITask>();
         xmlWrapper.ReadXml(reader);
         this.task = xmlWrapper.Value;
     }
     catch (InvalidCastException)
     {
         if (OnXmlReadUnknownTask != null)
         {
             OnXmlReadUnknownTask(reader, out this.task);
         }
         else
         {
             throw;
         }
     }
 }
Ejemplo n.º 8
0
        public void WriteXml(System.Xml.XmlWriter writer)
        {
            writer.WriteAttributeString("Width", size.X.ToString());
            writer.WriteAttributeString("Height", size.Y.ToString());

            for (int i = 0; i < size.X; ++i)
            {
                for (int j = 0; j < size.Y; ++j)
                {
                    var container = new XmlAnything<Square.Square>(squareMatrix[i, j]);
                    XmlSerializer serializer = new XmlSerializer(container.GetType());
                    serializer.Serialize(writer, container);
                }
            }
        }
Ejemplo n.º 9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SquareDecorator" /> class.
 /// </summary>
 /// <param name="square">The square.</param>
 public SquareDecorator(Square square) : base(0, 0)
 {
     EncapsulatedSquare            = new XmlAnything <Square>();
     this.EncapsulatedSquare.Value = square;
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SquareDecorator" /> class.
 /// </summary>
 /// <param name="square">The square.</param>
 public SquareDecorator(Square square)
     : base(0, 0)
 {
     EncapsulatedSquare = new XmlAnything<Square>();
     this.EncapsulatedSquare.Value = square;
 }