public Archiver( ISettingsChecker settingsChecker, IAppSettings settings, IMessagesService messageService, IDecompressorFactory decompressorFactory, ICompressorFactory compressorFactory) { _settingsChecker = settingsChecker ?? throw new ArgumentNullException(nameof(settingsChecker)); _settings = settings ?? throw new ArgumentNullException(nameof(settings)); _messageService = messageService ?? throw new ArgumentNullException(nameof(messageService)); _decompressorFactory = decompressorFactory ?? throw new ArgumentNullException(nameof(decompressorFactory)); _compressorFactory = compressorFactory ?? throw new ArgumentNullException(nameof(compressorFactory)); }
public static object DeserializePayloadUsingSpecificFactory( this DescribedSerialization describedSerialization, ISerializerFactory serializerFactory, ICompressorFactory compressorFactory, TypeMatchStrategy typeMatchStrategy = TypeMatchStrategy.NamespaceAndName, MultipleMatchStrategy multipleMatchStrategy = MultipleMatchStrategy.ThrowOnMultiple, UnregisteredTypeEncounteredStrategy unregisteredTypeEncounteredStrategy = UnregisteredTypeEncounteredStrategy.Default) { new { describedSerialization }.Must().NotBeNull(); new { serializerFactory }.Must().NotBeNull(); new { compressorFactory }.Must().NotBeNull(); var serializer = serializerFactory.BuildSerializer(describedSerialization.SerializationDescription, typeMatchStrategy, multipleMatchStrategy, unregisteredTypeEncounteredStrategy); var compressor = compressorFactory.BuildCompressor(describedSerialization.SerializationDescription.CompressionKind); var ret = describedSerialization.DeserializePayloadUsingSpecificSerializer(serializer, compressor, typeMatchStrategy, multipleMatchStrategy); return(ret); }
public static DescribedSerialization ToDescribedSerializationUsingSpecificFactory <T>( this T objectToPackageIntoDescribedSerialization, SerializationDescription serializationDescription, ISerializerFactory serializerFactory, ICompressorFactory compressorFactory, TypeMatchStrategy typeMatchStrategy = TypeMatchStrategy.NamespaceAndName, MultipleMatchStrategy multipleMatchStrategy = MultipleMatchStrategy.ThrowOnMultiple, UnregisteredTypeEncounteredStrategy unregisteredTypeEncounteredStrategy = UnregisteredTypeEncounteredStrategy.Default) { new { serializationDescription }.Must().NotBeNull(); new { serializerFactory }.Must().NotBeNull(); new { compressorFactory }.Must().NotBeNull(); var serializer = serializerFactory.BuildSerializer(serializationDescription, typeMatchStrategy, multipleMatchStrategy, unregisteredTypeEncounteredStrategy); var compressor = compressorFactory.BuildCompressor(serializationDescription.CompressionKind); var ret = objectToPackageIntoDescribedSerialization.ToDescribedSerializationUsingSpecificSerializer( serializationDescription, serializer, compressor); return(ret); }
/// <summary> /// Initializes a new instance of the <see cref="PropertyBagSerializerFactory"/> class. /// </summary> /// <param name="compressorFactory">Optional compressor factory to use. DEFAULT is to use OBeautifulCode.Compression.Recipes.CompressorFactory.Instance.</param> public SerializerFactory( ICompressorFactory compressorFactory = null) : base(compressorFactory) { }
public CompressorFactoryTests() { _compressorFactory = new CompressorFactory(); }
/// <summary> /// Initializes a new instance of the <see cref="PropertyBagSerializerFactory"/> class. /// </summary> /// <param name="compressorFactory">Optional compressor factory to use. DEFAULT is to use OBeautifulCode.Compression.Recipes.CompressorFactory.Instance.</param> public PropertyBagSerializerFactory( ICompressorFactory compressorFactory = null) : base(compressorFactory) { }
/// <summary> /// Initializes a new instance of the <see cref="SerializerFactoryBase"/> class. /// </summary> /// <param name="compressorFactory">The compressor factory to use. Set to null to use <see cref="OBeautifulCode.Compression.Recipes.CompressorFactory.Instance"/>.</param> protected SerializerFactoryBase( ICompressorFactory compressorFactory) { this.CompressorFactory = compressorFactory ?? OBeautifulCode.Compression.Recipes.CompressorFactory.Instance; }