Show / Hide Table of Contents

Class PODSlimSerializer

Serializes CLR object graphs using PortableObjectDocument container and Slim binary serialization algorithm. This class is far less performant than SlimSerializer, however it serializes types using document model that allows to transform/change data during serialization/deserialization. This class is needed for upgrades, when object metadata may change but need to be read (maybe partially) back into the new type structure

Inheritance
System.Object
PODSlimSerializer
Implements
ISlimSerializer
ISerializer
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: NFX.Serialization.Slim
Assembly: NFX.dll
Syntax
public class PODSlimSerializer : ISlimSerializer, ISerializer

Constructors

PODSlimSerializer()

Declaration
public PODSlimSerializer()

Methods

Deserialize(Stream)

Desirializes a graph of arbitrary CLR objects that was serialized before

Declaration
public object Deserialize(Stream stream)
Parameters
Type Name Description
System.IO.Stream stream

Source data stream in Slim binary format

Returns
Type Description
System.Object

CLR object graph which is deserialized from possibly transformed PortableObjectDocument container

Deserialize(Stream, ReadingStrategy)

Desirializes a graph of arbitrary CLR objects that was serialized before

Declaration
public object Deserialize(Stream stream, ReadingStrategy readingStrategy = null)
Parameters
Type Name Description
System.IO.Stream stream

Source data stream in Slim binary format

ReadingStrategy readingStrategy

Optional reading strategy

Returns
Type Description
System.Object

CLR object graph which is deserialized from possibly transformed PortableObjectDocument container

DeserializeDocument(Stream)

Deserializes a PortableObjectDocument container instance

Declaration
public PortableObjectDocument DeserializeDocument(Stream stream)
Parameters
Type Name Description
System.IO.Stream stream

Source data stream in Slim binary format

Returns
Type Description
PortableObjectDocument

PortableObjectDocument instance

Serialize(Stream, Object)

Serializes a graph of arbitrary CLR objects into stream using PortableObjectDocument container

Declaration
public void Serialize(Stream stream, object root)
Parameters
Type Name Description
System.IO.Stream stream

Target stream

System.Object root

CLR object graph

Serialize(Stream, Object, Nullable<DateTime>, String)

Serializes a graph of arbitrary CLR objects into stream using PortableObjectDocument container, optionally taking document creation attributes

Declaration
public void Serialize(Stream stream, object root, DateTime? documentCreationDate = default (DateTime? ), string documentNotes = null)
Parameters
Type Name Description
System.IO.Stream stream

Target stream

System.Object root

CLR object graph

System.Nullable<System.DateTime> documentCreationDate

Optional document creation attribute

System.String documentNotes

Optional document creation attribute

Explicit Interface Implementations

ISerializer.IsThreadSafe

This serializer is thread-safe

Declaration
bool ISerializer.IsThreadSafe { get; }
Returns
Type Description
System.Boolean

ISlimSerializer.BatchTypesAdded

Not supported here

Declaration
bool ISlimSerializer.BatchTypesAdded { get; }
Returns
Type Description
System.Boolean

ISlimSerializer.ResetCallBatch()

This method does nothig in this class

Declaration
void ISlimSerializer.ResetCallBatch()

ISlimSerializer.TypeMode

This serializer always uses "PerCall" setting. Setting this property has no effect

Declaration
TypeRegistryMode ISlimSerializer.TypeMode { get; set; }
Returns
Type Description
TypeRegistryMode

Implements

ISlimSerializer
ISerializer

Extension Methods

MiscUtils.NonNull<T>(T, Func<Exception>, String)
ObjectValueConversion.AsString(Object, String, ConvertErrorHandling)
ObjectValueConversion.AsNonNullOrEmptyString(Object)
ObjectValueConversion.AsLaconicConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsJSONConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsXMLConfig(Object, ConfigSectionNode, ConvertErrorHandling)
ObjectValueConversion.AsChar(Object, Char, ConvertErrorHandling)
ObjectValueConversion.AsNullableChar(Object, Nullable<Char>, ConvertErrorHandling)
ObjectValueConversion.AsByte(Object, Byte, ConvertErrorHandling)
ObjectValueConversion.AsNullableByte(Object, Nullable<Byte>, ConvertErrorHandling)
ObjectValueConversion.AsSByte(Object, SByte, ConvertErrorHandling)
ObjectValueConversion.AsNullableSByte(Object, Nullable<SByte>, ConvertErrorHandling)
ObjectValueConversion.AsShort(Object, Int16, ConvertErrorHandling)
ObjectValueConversion.AsNullableShort(Object, Nullable<Int16>, ConvertErrorHandling)
ObjectValueConversion.AsUShort(Object, UInt16, ConvertErrorHandling)
ObjectValueConversion.AsNullableUShort(Object, Nullable<UInt16>, ConvertErrorHandling)
ObjectValueConversion.AsInt(Object, Int32, ConvertErrorHandling)
ObjectValueConversion.AsNullableInt(Object, Nullable<Int32>, ConvertErrorHandling)
ObjectValueConversion.AsUInt(Object, UInt32, ConvertErrorHandling)
ObjectValueConversion.AsNullableUInt(Object, Nullable<UInt32>, ConvertErrorHandling)
ObjectValueConversion.AsLong(Object, Int64, ConvertErrorHandling)
ObjectValueConversion.AsNullableLong(Object, Nullable<Int64>, ConvertErrorHandling)
ObjectValueConversion.AsULong(Object, UInt64, ConvertErrorHandling)
ObjectValueConversion.AsNullableULong(Object, Nullable<UInt64>, ConvertErrorHandling)
ObjectValueConversion.AsDouble(Object, Double, ConvertErrorHandling)
ObjectValueConversion.AsNullableDouble(Object, Nullable<Double>, ConvertErrorHandling)
ObjectValueConversion.AsFloat(Object, Single, ConvertErrorHandling)
ObjectValueConversion.AsNullableFloat(Object, Nullable<Single>, ConvertErrorHandling)
ObjectValueConversion.AsDecimal(Object, Decimal, ConvertErrorHandling)
ObjectValueConversion.AsNullableDecimal(Object, Nullable<Decimal>, ConvertErrorHandling)
ObjectValueConversion.AsBool(Object, Boolean, ConvertErrorHandling)
ObjectValueConversion.AsNullableBool(Object, Nullable<Boolean>, ConvertErrorHandling)
ObjectValueConversion.AsGUID(Object, Guid, ConvertErrorHandling)
ObjectValueConversion.AsNullableGUID(Object, Nullable<Guid>, ConvertErrorHandling)
ObjectValueConversion.AsDateTime(Object)
ObjectValueConversion.AsDateTime(Object, DateTime, ConvertErrorHandling)
ObjectValueConversion.AsNullableDateTime(Object, Nullable<DateTime>, ConvertErrorHandling)
ObjectValueConversion.AsGDID(Object)
ObjectValueConversion.AsGDID(Object, GDID, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDID(Object, Nullable<GDID>, ConvertErrorHandling)
ObjectValueConversion.AsGDIDSymbol(Object)
ObjectValueConversion.AsGDIDSymbol(Object, GDIDSymbol, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDIDSymbol(Object, Nullable<GDIDSymbol>, ConvertErrorHandling)
ObjectValueConversion.AsTimeSpan(Object)
ObjectValueConversion.AsTimeSpan(Object, TimeSpan, ConvertErrorHandling)
ObjectValueConversion.AsNullableTimeSpan(Object, Nullable<TimeSpan>, ConvertErrorHandling)
ObjectValueConversion.AsEnum<TEnum>(Object, TEnum, ConvertErrorHandling)
ObjectValueConversion.AsNullableEnum<TEnum>(Object, Nullable<TEnum>, ConvertErrorHandling)
ObjectValueConversion.AsUri(Object, Uri, ConvertErrorHandling)
JSONExtensions.ToJSON(Object, JSONWritingOptions)
JSONExtensions.ToJSON(Object, TextWriter, JSONWritingOptions)
JSONExtensions.ToJSON(Object, Stream, JSONWritingOptions, Encoding)
ErlObject.ToErlObject(Object)
ErlObject.ToErlObject(Object, ErlTypeOrder, Boolean)
Back to top Copyright © 2006-2018 Agnicore Inc
Generated by DocFX