- Timestamp:
- 07/11/15 17:13:22 (9 years ago)
- Location:
- stable
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
stable
- Property svn:mergeinfo changed
/trunk/sources merged: 12455-12456,12475,12638
- Property svn:mergeinfo changed
-
stable/HeuristicLab.Persistence
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Persistence merged: 12455-12456,12475,12638
- Property svn:mergeinfo changed
-
stable/HeuristicLab.Persistence/3.3/Default/Xml/XmlParser.cs
r12009 r12727 31 31 32 32 namespace HeuristicLab.Persistence.Default.Xml { 33 /// <summary> 34 /// Type of compression used for the Xml stream or file. 35 /// </summary> 36 public enum CompressionType { 37 GZip, 38 Zip 39 } 33 40 34 41 /// <summary> … … 216 223 } 217 224 218 219 /// <summary>220 /// Deserializes an object from the specified stream.221 /// </summary>222 /// <param name="stream">The stream.</param>223 /// <returns>A fresh object instance.</returns>224 public static object Deserialize(Stream stream) {225 try {226 using (StreamReader reader = new StreamReader(new GZipStream(stream, CompressionMode.Decompress))) {227 XmlParser parser = new XmlParser(reader);228 Deserializer deserializer = new Deserializer(new TypeMapping[] { });229 return deserializer.Deserialize(parser);230 }231 }232 catch (PersistenceException) {233 throw;234 }235 catch (Exception x) {236 throw new PersistenceException("Unexpected exception during deserialization", x);237 }238 }239 240 225 /// <summary> 241 226 /// Deserializes an object from the specified stream. … … 243 228 /// <typeparam name="T">object type expected from the serialized stream</typeparam> 244 229 /// <param name="stream">The stream.</param> 230 /// <param name="compressionType">Type of compression, default is GZip.</param> 245 231 /// <returns>A fresh object instance.</returns> 246 public static T Deserialize<T>(Stream stream) { 247 return (T)Deserialize(stream); 232 public static T Deserialize<T>(Stream stream, CompressionType compressionType = CompressionType.GZip) { 233 return (T)Deserialize(stream, compressionType); 234 } 235 236 /// <summary> 237 /// Deserializes an object from the specified stream. 238 /// </summary> 239 /// <param name="stream">The stream.</param> 240 /// <param name="compressionType">Type of compression, default is GZip.</param> 241 /// <returns>A fresh object instance.</returns> 242 public static object Deserialize(Stream stream, CompressionType compressionType = CompressionType.GZip) { 243 if (compressionType == CompressionType.Zip) { 244 ZipArchive zipFile = new ZipArchive(stream); 245 return Deserialize(zipFile); 246 } else { 247 try { 248 using (StreamReader reader = new StreamReader(new GZipStream(stream, CompressionMode.Decompress))) { 249 XmlParser parser = new XmlParser(reader); 250 Deserializer deserializer = new Deserializer(new TypeMapping[] { }); 251 return deserializer.Deserialize(parser); 252 } 253 } 254 catch (PersistenceException) { 255 throw; 256 } 257 catch (Exception x) { 258 throw new PersistenceException("Unexpected exception during deserialization", x); 259 } 260 } 248 261 } 249 262
Note: See TracChangeset
for help on using the changeset viewer.