Ejemplo n.º 1
0
 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);
        }
Ejemplo n.º 4
0
 /// <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)
 {
 }
Ejemplo n.º 5
0
 public CompressorFactoryTests()
 {
     _compressorFactory = new CompressorFactory();
 }
Ejemplo n.º 6
0
 /// <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;
 }