Skip to content

Commit

Permalink
Merge branch 'add-interfaces' of https://github.com/grofit/YamlDotNet
Browse files Browse the repository at this point in the history
…into grofit-add-interfaces
  • Loading branch information
Antoine Aubry committed Sep 21, 2018
2 parents bc681de + c0c446e commit 50dadfb
Show file tree
Hide file tree
Showing 8 changed files with 80 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public static void Main(string[] args)
runner.Run(new Program(), args);
}

private readonly Serializer _serializer = new SerializerBuilder()
private readonly ISerializer _serializer = new SerializerBuilder()
.WithNamingConvention(new CamelCaseNamingConvention())
.Build();

Expand Down
10 changes: 5 additions & 5 deletions YamlDotNet.Test/Serialization/SerializationTestHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,12 @@ protected T DoRoundtripFromObjectTo<T>(object obj)
return DoRoundtripFromObjectTo<T>(obj, Serializer);
}

protected T DoRoundtripFromObjectTo<T>(object obj, Serializer serializer)
protected T DoRoundtripFromObjectTo<T>(object obj, ISerializer serializer)
{
return DoRoundtripFromObjectTo<T>(obj, serializer, Deserializer);
}

protected T DoRoundtripFromObjectTo<T>(object obj, Serializer serializer, Deserializer deserializer)
protected T DoRoundtripFromObjectTo<T>(object obj, ISerializer serializer, IDeserializer deserializer)
{
var writer = new StringWriter();
serializer.Serialize(writer, obj);
Expand All @@ -60,7 +60,7 @@ protected T DoRoundtripOn<T>(object obj)
return DoRoundtripOn<T>(obj, Serializer);
}

protected T DoRoundtripOn<T>(object obj, Serializer serializer)
protected T DoRoundtripOn<T>(object obj, ISerializer serializer)
{
var writer = new StringWriter();
serializer.Serialize(writer, obj, typeof(T));
Expand All @@ -75,7 +75,7 @@ protected SerializerBuilder SerializerBuilder
}
}

protected Serializer Serializer
protected ISerializer Serializer
{
get
{
Expand All @@ -91,7 +91,7 @@ protected DeserializerBuilder DeserializerBuilder
}
}

protected Deserializer Deserializer
protected IDeserializer Deserializer
{
get
{
Expand Down
2 changes: 1 addition & 1 deletion YamlDotNet/Serialization/Deserializer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ namespace YamlDotNet.Serialization
/// To customize the behavior of <see cref="Deserializer" />,
/// use the <see cref="DeserializerBuilder" /> class.
/// </summary>
public sealed class Deserializer
public sealed class Deserializer : IDeserializer
{
private readonly IValueDeserializer valueDeserializer;

Expand Down
2 changes: 1 addition & 1 deletion YamlDotNet/Serialization/DeserializerBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@ public DeserializerBuilder IgnoreUnmatchedProperties()
/// <summary>
/// Creates a new <see cref="Deserializer" /> according to the current configuration.
/// </summary>
public Deserializer Build()
public IDeserializer Build()
{
return Deserializer.FromValueDeserializer(BuildValueDeserializer());
}
Expand Down
25 changes: 25 additions & 0 deletions YamlDotNet/Serialization/IDeserializer.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
using System;
using System.IO;
using YamlDotNet.Core;

namespace YamlDotNet.Serialization
{
public interface IDeserializer
{
T Deserialize<T>(string input);
T Deserialize<T>(TextReader input);
object Deserialize(TextReader input);
object Deserialize(string input, Type type);
object Deserialize(TextReader input, Type type);
T Deserialize<T>(IParser parser);
object Deserialize(IParser parser);

/// <summary>
/// Deserializes an object of the specified type.
/// </summary>
/// <param name="parser">The <see cref="IParser" /> from where to deserialize the object.</param>
/// <param name="type">The static type of the object to deserialize.</param>
/// <returns>Returns the deserialized object.</returns>
object Deserialize(IParser parser, Type type);
}
}
45 changes: 45 additions & 0 deletions YamlDotNet/Serialization/ISerializer.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
using System;
using System.IO;
using YamlDotNet.Core;

namespace YamlDotNet.Serialization
{
public interface ISerializer
{
/// <summary>
/// Serializes the specified object.
/// </summary>
/// <param name="writer">The <see cref="TextWriter" /> where to serialize the object.</param>
/// <param name="graph">The object to serialize.</param>
void Serialize(TextWriter writer, object graph);

/// <summary>
/// Serializes the specified object into a string.
/// </summary>
/// <param name="graph">The object to serialize.</param>
string Serialize(object graph);

/// <summary>
/// Serializes the specified object.
/// </summary>
/// <param name="writer">The <see cref="TextWriter" /> where to serialize the object.</param>
/// <param name="graph">The object to serialize.</param>
/// <param name="type">The static type of the object to serialize.</param>
void Serialize(TextWriter writer, object graph, Type type);

/// <summary>
/// Serializes the specified object.
/// </summary>
/// <param name="emitter">The <see cref="IEmitter" /> where to serialize the object.</param>
/// <param name="graph">The object to serialize.</param>
void Serialize(IEmitter emitter, object graph);

/// <summary>
/// Serializes the specified object.
/// </summary>
/// <param name="emitter">The <see cref="IEmitter" /> where to serialize the object.</param>
/// <param name="graph">The object to serialize.</param>
/// <param name="type">The static type of the object to serialize.</param>
void Serialize(IEmitter emitter, object graph, Type type);
}
}
2 changes: 1 addition & 1 deletion YamlDotNet/Serialization/Serializer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

namespace YamlDotNet.Serialization
{
public sealed class Serializer
public sealed class Serializer : ISerializer
{
private readonly IValueSerializer valueSerializer;

Expand Down
2 changes: 1 addition & 1 deletion YamlDotNet/Serialization/SerializerBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@ public SerializerBuilder WithoutEmissionPhaseObjectGraphVisitor(Type objectGraph
/// <summary>
/// Creates a new <see cref="Serializer" /> according to the current configuration.
/// </summary>
public Serializer Build()
public ISerializer Build()
{
return Serializer.FromValueSerializer(BuildValueSerializer());
}
Expand Down

0 comments on commit 50dadfb

Please sign in to comment.