/
IJsonCustomizer.cs
29 lines (27 loc) · 1.13 KB
/
IJsonCustomizer.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
namespace DevZest.Data
{
/// <summary>
/// Customizes JSON serialization/deserialization.
/// </summary>
public interface IJsonCustomizer
{
/// <summary>
/// Determines if specified column is serializable.
/// </summary>
/// <param name="column">The specified column.</param>
/// <returns><see langword="true" /> if specified column is serializable, otherwise <see langword="false" />.</returns>
bool IsSerializable(Column column);
/// <summary>
/// Determines if specified column can be deserialized.
/// </summary>
/// <param name="column">The specified column.</param>
/// <returns><see langword="true" /> if specified column can be derializable, otherwise <see langword="false" />.</returns>
bool IsDeserializable(Column column);
/// <summary>
/// Gets the <see cref="IJsonConverter"/> for specified column.
/// </summary>
/// <param name="column">The specified column.</param>
/// <returns>The <see cref="IJsonConverter"/>.</returns>
IJsonConverter GetConverter(Column column);
}
}