- Timestamp:
- 03/11/10 12:54:14 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Persistence/3.3/Core/ConfigurationService.cs
r2876 r3004 13 13 namespace HeuristicLab.Persistence.Core { 14 14 15 /// <summary> 16 /// Provides a persistable configuration of primitive and composite serializers for 17 /// all registered serial formats. Custom formats can be defined and will be saved 18 /// for future sessions. A default configuration can be generated through reflection. 19 /// 20 /// This class has only a single instance. 21 /// </summary> 15 22 public class ConfigurationService { 16 23 17 24 private static ConfigurationService instance; 18 25 private readonly Dictionary<IFormat, Configuration> customConfigurations; 26 27 /// <summary> 28 /// List of all available primitive serializers. 29 /// </summary> 19 30 public Dictionary<Type, List<IPrimitiveSerializer>> PrimitiveSerializers { get; private set; } 31 32 /// <summary> 33 /// List of all available composite serializers (discovered through reflection). 34 /// </summary> 20 35 public List<ICompositeSerializer> CompositeSerializers { get; private set; } 36 37 /// <summary> 38 /// List of all available formats (discovered through reflection). 39 /// </summary> 21 40 public List<IFormat> Formats { get; private set; } 22 41 … … 92 111 } 93 112 113 114 /// <summary> 115 /// Rediscover available serializers and discard all custom configurations. 116 /// </summary> 94 117 public void Reset() { 95 118 customConfigurations.Clear(); … … 108 131 } 109 132 110 class PriortiySorter : IComparer<ICompositeSerializer> {133 private class PriortiySorter : IComparer<ICompositeSerializer> { 111 134 public int Compare(ICompositeSerializer x, ICompositeSerializer y) { 112 135 return y.Priority - x.Priority; … … 169 192 } 170 193 194 /// <summary> 195 /// Get the default (automatically discovered) configuration for a certain format. 196 /// </summary> 171 197 public Configuration GetDefaultConfig(IFormat format) { 172 198 Dictionary<Type, IPrimitiveSerializer> primitiveConfig = new Dictionary<Type, IPrimitiveSerializer>(); … … 188 214 } 189 215 216 217 /// <summary> 218 /// Get a configuration for a certain format. This returns a custom configuration 219 /// if defined, otherwise returns the default (automatically discovered) configuration. 220 /// </summary> 190 221 public Configuration GetConfiguration(IFormat format) { 191 222 if (customConfigurations.ContainsKey(format)) … … 194 225 } 195 226 227 /// <summary> 228 /// Define a new custom configuration for a ceratin format. 229 /// </summary> 196 230 public void DefineConfiguration(Configuration configuration) { 197 231 customConfigurations[configuration.Format] = configuration;
Note: See TracChangeset
for help on using the changeset viewer.