Namespace Cratis.Serialization

Classes

AcronymFriendlyJsonCamelCaseNamingPolicy

A JsonNamingPolicy that converts names to camel case, but also takes acronyms into consideration.

AmbiguousDerivedTypeIdentifiers

Exception that gets thrown when multiple types have the same derived type identifier.

AmbiguousTargetTypeForDerivedType

Exception that gets thrown when a derived type implements more than one interface and it is not specified which to use in the DerivedTypeAttribute.

CamelCaseNamingPolicy

Camel case implementation of INamingPolicy.

DefaultNamingPolicy

Default implementation of INamingPolicy.

DerivedTypeAttribute

Attribute used to adorn types that represent a unique type in the system and serializers need to recognize.

DerivedTypeId

The unique identifier identifying a derived type.

DerivedTypeJsonConverterFactory

Represents a JsonConverterFactory for creating converters for types that are adorned with DerivedTypeAttribute.

DerivedTypeJsonConverter<T>

Represents a JsonConverter<T> for converting types that are adorned with the DerivedTypeAttribute.

DerivedTypes

Represents an implementation of IDerivedTypes.

MissingDerivedTypeForTargetType

Exception that gets thrown when a derived type is missing for a target type.

MissingTargetTypeForDerivedType

Exception that gets thrown when a derived type implements more than one interface and it is not specified which to use in the DerivedTypeAttribute.

NamespacedNamingPolicy

Represents a naming policy that applies a namespaced naming convention.

NamingPolicy

Represents a base class for naming policies.

TargetTypeMismatchForDerivedType

Exception that gets thrown when a derived type implements more than one interface and it is not specified which to use in the DerivedTypeAttribute.

Interfaces

IDerivedTypes

Defines a system that tracks derived types and the target type they represents.

INamingPolicy

Defines the policy for naming, typically used during serialization.