Beispiel #1
0
        protected override string Serialize(ISchoolComponent component)
        {
            var builder = new StringBuilder();

            if (component is SchoolComposite)
            {
                var schoolComposite = (SchoolComposite)component;
                builder.Append($"\"{component.Name}\":");
                builder.AppendLine();
                builder.AppendLine("{");
                for (int i = 0; i < schoolComposite.CountChild(); ++i)
                {
                    builder.Append(Serialize(schoolComposite.GetChild(i)));
                }

                builder.AppendLine("},");
            }
            else
            {
                var schoolLeaf = (SchoolLeaf)component;
                builder.Append($"\"{schoolLeaf.Title}\":\"{schoolLeaf.Name}\"");
                builder.AppendLine();
            }

            return(builder.ToString());
        }
Beispiel #2
0
        public void SerializeObject(ISchoolComponent component, string outFileName)
        {
            string serializationString = Serialize(component);
            string extension           = GetExtension();

            SaveToFile(outFileName, extension, serializationString);
        }
Beispiel #3
0
 public bool RemoveChild(ISchoolComponent schoolComponent)
 {
     return(_schoolComponents.Remove(schoolComponent));
 }
Beispiel #4
0
 public void AddChild(ISchoolComponent schoolComponent)
 {
     _schoolComponents.Add(schoolComponent);
 }
Beispiel #5
0
 protected abstract string Serialize(ISchoolComponent component);