public CompressedXlob(byte[] data, IXmlCompressor compression) { if (data == null) throw new ArgumentNullException("data"); if (compression == null) throw new ArgumentNullException("compression"); this.data = data; this.compression = compression; }
public virtual void SetParameterValues(IDictionary<string, string> parameters) { int length; IXmlCompressor c; Parameters.GetXlobSettings(parameters, out c, out length); if (c != null) _compression = c; PayloadLength = length; }
public ExternalXlob(IExternalBlobConnection connection, byte[] identifier, IXmlCompressor compression) { if (connection == null) throw new ArgumentNullException("connection"); if (identifier == null) throw new ArgumentNullException("identifier"); if (compression == null) throw new ArgumentNullException("compression"); _connection = connection; _identifier = identifier; _compression = compression; }
public virtual void SetParameterValues(IDictionary <string, string> parameters) { int length; IXmlCompressor c; Parameters.GetXlobSettings(parameters, out c, out length); if (c != null) { _compression = c; } PayloadLength = length; }
public ExternalXlob(IExternalBlobConnection connection, byte[] identifier, IXmlCompressor compression) { if (connection == null) { throw new ArgumentNullException("connection"); } if (identifier == null) { throw new ArgumentNullException("identifier"); } if (compression == null) { throw new ArgumentNullException("compression"); } _connection = connection; _identifier = identifier; _compression = compression; }
internal static void GetXlobSettings(IDictionary<string, string> parameters, out IXmlCompressor compression) { string compr = parameters == null ? null : parameters["compression"]; if (string.IsNullOrEmpty(compr)) compression = null; else if (compr.Equals("gzip", StringComparison.OrdinalIgnoreCase)) compression = new XmlTextCompressor(GZipCompressor.Instance); else { System.Type compressor = System.Type.GetType(compr); if (typeof(IXmlCompressor).IsAssignableFrom(compressor)) compression = (IXmlCompressor)System.Activator.CreateInstance(compressor); else if (typeof(IStreamCompressor).IsAssignableFrom(compressor)) compression = new XmlTextCompressor((IStreamCompressor)System.Activator.CreateInstance(compressor)); else throw new Exception("Unknown compression type."); } IParameterizedType parameterized = compression as IParameterizedType; if (parameterized != null) parameterized.SetParameterValues(parameters); }
public static void GetXlobSettings(IDictionary <string, string> parameters, out IXmlCompressor compression, out int length) { length = ParseLength(parameters); string compr = null; if (parameters != null) { parameters.TryGetValue("compression", out compr); } if (string.IsNullOrEmpty(compr)) { compression = null; } else if (compr.Equals("gzip", StringComparison.OrdinalIgnoreCase)) { compression = new XmlTextCompressor(GZipCompressor.Instance); } else { System.Type compressor = System.Type.GetType(compr); if (typeof(IXmlCompressor).IsAssignableFrom(compressor)) { compression = (IXmlCompressor)Activator.CreateInstance(compressor); } else if (typeof(IStreamCompressor).IsAssignableFrom(compressor)) { compression = new XmlTextCompressor((IStreamCompressor)Activator.CreateInstance(compressor)); } else { throw new Exception("Unknown compression type."); } } var parameterized = compression as IParameterizedType; if (parameterized != null) { parameterized.SetParameterValues(parameters); } }
public ExternalXlobType() { _compression = new XmlTextCompressor(); }
public virtual void SetParameterValues(IDictionary<string, string> parameters) { IXmlCompressor c; Parameters.GetXlobSettings(parameters, out c); if (c != null) this.compression = c; }