Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/08/09 17:05:17 (15 years ago)
Author:
epitzer
Message:

Numerous small changes, coding conventions, renames, mini refactoring (#548)

Location:
trunk/sources/HeuristicLab.Persistence/3.3/Default/Decomposers
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Persistence/3.3/Default/Decomposers/ArrayDecomposer.cs

    r1539 r1542  
    1616    }
    1717
    18     public IEnumerable<Tag> DeCompose(object array) {
     18    public IEnumerable<Tag> Decompose(object array) {
    1919      Array a = (Array)array;     
    2020      yield return new Tag("rank", a.Rank);
  • trunk/sources/HeuristicLab.Persistence/3.3/Default/Decomposers/DictionaryDecomposer.cs

    r1539 r1542  
    2323      key = v;
    2424      keyIsSet = true;
    25       check();
     25      Check();
    2626    }
    2727
     
    2929      value = v;
    3030      valueIsSet = true;
    31       check();
     31      Check();
    3232    }
    3333
    34     private void check() {
     34    private void Check() {
    3535      if ( keyIsSet && valueIsSet )
    3636        dict.Add(key, value);
     
    5050    }
    5151
    52     public IEnumerable<Tag> DeCompose(object o) {
     52    public IEnumerable<Tag> Decompose(object o) {
    5353      IDictionary dict = (IDictionary)o;     
    5454      foreach ( DictionaryEntry entry in dict) {
  • trunk/sources/HeuristicLab.Persistence/3.3/Default/Decomposers/EnumDecomposer.cs

    r1539 r1542  
    1313
    1414    public bool CanDecompose(Type type) {
    15       return type.IsEnum || type == typeof (Enum);
     15      return type.IsEnum || type == typeof(Enum);
    1616    }
    1717
    18     public IEnumerable<Tag> DeCompose(object obj) {     
     18    public IEnumerable<Tag> Decompose(object obj) {     
    1919      yield return new Tag(Enum.GetName(obj.GetType(), obj));
    2020    }
  • trunk/sources/HeuristicLab.Persistence/3.3/Default/Decomposers/EnumerableDecomposer.cs

    r1539 r1542  
    6868    }
    6969
    70     public IEnumerable<Tag> DeCompose(object obj) {
     70    public IEnumerable<Tag> Decompose(object obj) {
    7171      foreach (object o in (IEnumerable)obj) {
    7272        yield return new Tag(null, o);
  • trunk/sources/HeuristicLab.Persistence/3.3/Default/Decomposers/KeyValuePairDecomposer.cs

    r1539 r1542  
    2121    }
    2222
    23     public IEnumerable<Tag> DeCompose(object o) {     
     23    public IEnumerable<Tag> Decompose(object o) {     
    2424      Type t = o.GetType();
    2525      yield return new Tag("key", t.GetProperty("Key").GetValue(o, null));
  • trunk/sources/HeuristicLab.Persistence/3.3/Default/Decomposers/StorableDecomposer.cs

    r1539 r1542  
    1919    }   
    2020
    21     public IEnumerable<Tag> DeCompose(object obj) {
     21    public IEnumerable<Tag> Decompose(object obj) {
    2222      foreach (var mapping in StorableAttribute.GetAutostorableAccessors(obj)) {
    2323        yield return new Tag(mapping.Key, mapping.Value.Get());
  • trunk/sources/HeuristicLab.Persistence/3.3/Default/Decomposers/TypeDecomposer.cs

    r1539 r1542  
    1717    }
    1818
    19     public IEnumerable<Tag> DeCompose(object obj) {
     19    public IEnumerable<Tag> Decompose(object obj) {
    2020      Type t = (Type) obj;
    2121      yield return new Tag("VersionInvariantName", t.VersionInvariantName());
  • trunk/sources/HeuristicLab.Persistence/3.3/Default/Decomposers/X2StringDecomposer.cs

    r1539 r1542  
    99namespace HeuristicLab.Persistence.Default.Decomposers {
    1010
    11   public class Number2StringDecomposer : IDecomposer {
    12 
    13     public int Priority {
    14       get { return 100; }
    15     }
    16 
     11  public class Number2StringConverter {   
    1712
    1813    private static readonly List<Type> numberTypes =
     
    3429    private static readonly Dictionary<Type, MethodInfo> numberParsers; 
    3530
    36     static Number2StringDecomposer() {
     31    static Number2StringConverter() {
    3732      numberParsers = new Dictionary<Type, MethodInfo>();
    3833      foreach ( var type in numberTypes ) {
     
    5651      return obj.ToString();
    5752    }
    58 
    59     public IEnumerable<Tag> DeCompose(object obj) {     
    60       yield return new Tag(Format(obj));     
    61     }
    62 
    63     public object CreateInstance(Type type) {
    64       return null;
    65     }
    66 
     53   
    6754    public object Parse(string stringValue, Type type) {
    6855      return numberParsers[type]
     
    7259    }
    7360
    74     public object Populate(object instance, IEnumerable<Tag> tags, Type type) {     
    75       foreach (Tag tag in tags)
    76         return Parse((string)tag.Value, type);
    77       throw new ApplicationException("not enough tags to re-compose number.");
    78     }
    79 
    8061  } 
    8162
     
    9172    }
    9273
    93     public IEnumerable<Tag> DeCompose(object obj) {
     74    public IEnumerable<Tag> Decompose(object obj) {
    9475      yield return new Tag(((DateTime)obj).Ticks);
    9576    }
     
    11495    }
    11596   
    116     private static readonly Number2StringDecomposer numberDecomposer =
    117       new Number2StringDecomposer();   
     97    private static readonly Number2StringConverter numberConverter =
     98      new Number2StringConverter();   
    11899
    119100    public bool CanDecompose(Type type) {
    120101      return
    121102        (type.IsArray || type == typeof (Array)) &&
    122         numberDecomposer.CanDecompose(type.GetElementType());
    123     }
    124 
    125     public IEnumerable<Tag> DeCompose(object obj) {
     103        numberConverter.CanDecompose(type.GetElementType());
     104    }
     105
     106    public IEnumerable<Tag> Decompose(object obj) {
    126107      Array a = (Array) obj;
    127108      int[] lengths = new int[a.Rank];
     
    139120      int[] positions = (int[])lowerBounds.Clone();
    140121      while (positions[a.Rank - 1] < lengths[a.Rank - 1] + lowerBounds[a.Rank - 1]) {
    141         sb.Append(numberDecomposer.Format(a.GetValue(positions))).Append(';');
     122        sb.Append(numberConverter.Format(a.GetValue(positions))).Append(';');
    142123        positions[0] += 1;
    143124        for (int i = 0; i < a.Rank - 1; i++) {
     
    180161      while (valueIter.MoveNext()) {
    181162        a.SetValue(
    182           numberDecomposer.Parse((string)valueIter.Current, elementType),         
     163          numberConverter.Parse((string)valueIter.Current, elementType),         
    183164          positions);
    184165        positions[0] += 1;
     
    202183    }
    203184
    204     private static readonly Number2StringDecomposer numberDecomposer =
    205       new Number2StringDecomposer();
     185    private static readonly Number2StringConverter numberConverter =
     186      new Number2StringConverter();
    206187   
    207188    private static readonly Dictionary<Type, Type> interfaceCache = new Dictionary<Type, Type>();
     
    213194        if (iface.IsGenericType &&
    214195          iface.GetGenericTypeDefinition() == typeof(IEnumerable<>) &&
    215           numberDecomposer.CanDecompose(iface.GetGenericArguments()[0])) {
     196          numberConverter.CanDecompose(iface.GetGenericArguments()[0])) {
    216197          interfaceCache.Add(type, iface);
    217198          return iface;
     
    243224    }
    244225
    245     public IEnumerable<Tag> DeCompose(object obj) {
     226    public IEnumerable<Tag> Decompose(object obj) {
    246227      Type type = obj.GetType();
    247228      Type enumerable = GetGenericEnumerableInterface(type);     
     
    259240      while ( (bool)moveNextMethod.Invoke(genericEnumerator, empty) )
    260241        sb.Append(
    261           numberDecomposer.Format(
     242          numberConverter.Format(
    262243            currentProperty.GetValue(genericEnumerator, null))).Append(';');
    263244      yield return new Tag("compact enumerable", sb.ToString());
     
    277258        .Split(new[] {';'}, StringSplitOptions.RemoveEmptyEntries);
    278259      foreach (var value in stringValues) {
    279         addMethod.Invoke(instance, new[] {numberDecomposer.Parse(value, elementType)});
     260        addMethod.Invoke(instance, new[] {numberConverter.Parse(value, elementType)});
    280261      }     
    281262      return instance;     
Note: See TracChangeset for help on using the changeset viewer.