Esempio n. 1
0
 /// <summary>
 /// Writes the content of this YAML node to the specified stream.
 /// </summary>
 /// <param name="stream">The stream to output YAML to.</param>
 /// <param name="settings">The settings to use to generate YAML. If null, a default <see cref="SerializerSettings"/> will be used.</param>
 public void WriteTo(Stream stream, SerializerSettings settings)
 {
     if (stream == null) throw new ArgumentNullException(nameof(stream));
     using (var streamWriter = new StreamWriter(stream))
     {
         WriteTo(streamWriter, DefaultSettings);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Serializer"/> class.
        /// </summary>
        /// <param name="settings">The settings.</param>
        public Serializer(SerializerSettings settings)
        {
            this.settings         = settings ?? new SerializerSettings();
            TypeDescriptorFactory = CreateTypeDescriptorFactory();
            RoutingSerializer routingSerializer;

            ObjectSerializer  = CreateProcessor(out routingSerializer);
            RoutingSerializer = routingSerializer;
        }
        public void NotSpecifyingObjectFactoryUsesDefault()
        {
            var settings = new SerializerSettings();
            settings.RegisterTagMapping("!foo", typeof(FooBase));
            var serializer = new Serializer(settings);
            var result = serializer.Deserialize(new StringReader("!foo {}"));

            Assert.IsInstanceOf<FooBase>(result);
        }
Esempio n. 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SerializerContext"/> class.
 /// </summary>
 /// <param name="serializer">The serializer.</param>
 /// <param name="serializerContextSettings">The serializer context settings.</param>
 internal SerializerContext(Serializer serializer, SerializerContextSettings serializerContextSettings)
 {
     Serializer              = serializer;
     settings                = serializer.Settings;
     tagTypeRegistry         = settings.AssemblyRegistry;
     ObjectFactory           = settings.ObjectFactory;
     ObjectSerializerBackend = settings.ObjectSerializerBackend;
     Schema                = Settings.Schema;
     ObjectSerializer      = serializer.ObjectSerializer;
     typeDescriptorFactory = serializer.TypeDescriptorFactory;
     contextSettings       = serializerContextSettings ?? SerializerContextSettings.Default;
 }
        public void ObjectFactoryIsInvoked()
        {
            var settings = new SerializerSettings()
            {
                ObjectFactory = new LambdaObjectFactory(t => new FooDerived(), new DefaultObjectFactory())
            };
            settings.RegisterTagMapping("!foo", typeof(FooBase));

            var serializer = new Serializer(settings);

            var result = serializer.Deserialize(new StringReader("!foo {}"));

            Assert.IsInstanceOf<FooDerived>(result);
        }
Esempio n. 6
0
 /// <summary>
 /// Writes the content of this YAML node to the specified writer.
 /// </summary>
 /// <param name="writer">The writer to output YAML to.</param>
 /// <param name="settings">The settings to use to generate YAML. If null, a default <see cref="SerializerSettings"/> will be used.</param>
 public void WriteTo(TextWriter writer, SerializerSettings settings)
 {
     if (writer == null) throw new ArgumentNullException(nameof(writer));
     var preferredIndent = (settings ?? DefaultSettings).PreferredIndent;
     yamlStream.Save(writer, true, preferredIndent);
     writer.Flush();
 }