Show / Hide Table of Contents

Class BSONSerializer

Provides serialization/deserialization of types that support direct BSON serialization/deserialization - implement IBSONSerializable/IBSONDeserializable

Inheritance
System.Object
BSONSerializer
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.BSON
Assembly: NFX.dll
Syntax
public class BSONSerializer

Constructors

BSONSerializer()

Declaration
public BSONSerializer()

BSONSerializer(IConfigSectionNode)

Declaration
public BSONSerializer(IConfigSectionNode node)
Parameters
Type Name Description
IConfigSectionNode node

BSONSerializer(BSONTypeResolver)

Declaration
public BSONSerializer(BSONTypeResolver resolver)
Parameters
Type Name Description
BSONTypeResolver resolver

Fields

CONFIG_RESOLVER_SECTON

Declaration
public const string CONFIG_RESOLVER_SECTON = "type-resolver"
Field Value
Type Description
System.String

DEFAULT_PK_NAME_FIELD

Declaration
public const string DEFAULT_PK_NAME_FIELD = "__id"
Field Value
Type Description
System.String

DEFAULT_TYPE_ID_FIELD

Declaration
public const string DEFAULT_TYPE_ID_FIELD = "__t"
Field Value
Type Description
System.String

m_Resolver

Declaration
protected BSONTypeResolver m_Resolver
Field Value
Type Description
BSONTypeResolver

Properties

Flags

Defines the purpose/level of detail of serialization

Declaration
[Config]
public BSONSerializationFlags Flags { get; set; }
Property Value
Type Description
BSONSerializationFlags

PKFieldName

Declaration
[Config("$pk-name")]
public string PKFieldName { get; set; }
Property Value
Type Description
System.String

TypeIDFieldName

Returns the name of the field which is used to store type ID, by default DEFAULT_TYPE_ID_FIELD/"__t" is assumed

Declaration
[Config("$type-id-name")]
public string TypeIDFieldName { get; set; }
Property Value
Type Description
System.String

Methods

AddTypeIDField(BSONDocument, IBSONSerializable, IBSONSerializable, Object, Boolean)

Adds a field named TypeIDFieldName with the type id of the object instance, force=true to emit the field even if it is a known type. Returns true if type id element was added

Declaration
public virtual bool AddTypeIDField(BSONDocument doc, IBSONSerializable parent, IBSONSerializable self, object ctx, bool force = false)
Parameters
Type Name Description
BSONDocument doc
IBSONSerializable parent
IBSONSerializable self
System.Object ctx
System.Boolean force
Returns
Type Description
System.Boolean

Deserialize(BSONDocument, IBSONDeserializable)

Deserilizes an instance from BSONDocument. If instance is not pre-allocated (result=null) tries to create a type decorated with BSONSerializableAttribute(guid)

Declaration
public IBSONDeserializable Deserialize(BSONDocument doc, IBSONDeserializable result = null)
Parameters
Type Name Description
BSONDocument doc
IBSONDeserializable result
Returns
Type Description
IBSONDeserializable

Serialize(IBSONSerializable, IBSONSerializable)

Serializes an instance directly into BSONDocument

Declaration
public BSONDocument Serialize(IBSONSerializable payload, IBSONSerializable parent = null)
Parameters
Type Name Description
IBSONSerializable payload
IBSONSerializable parent
Returns
Type Description
BSONDocument

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