Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/03/10 06:04:49 (14 years ago)
Author:
swagner
Message:

Continued work on algorithm batch processing (#947).

Location:
trunk/sources/HeuristicLab.Core/3.3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Core/3.3/Interfaces/IParameterizedItem.cs

    r2834 r3260  
    2020#endregion
    2121
     22using System.Collections.Generic;
    2223using HeuristicLab.Collections;
    2324
     
    2829  public interface IParameterizedItem : IItem {
    2930    IObservableKeyedCollection<string, IParameter> Parameters { get; }
     31
     32    void CollectParameterValues(IDictionary<string, IItem> values);
    3033  }
    3134}
  • trunk/sources/HeuristicLab.Core/3.3/ParameterizedNamedItem.cs

    r3017 r3260  
    2020#endregion
    2121
     22using System.Collections.Generic;
     23using System.Linq;
    2224using HeuristicLab.Collections;
    2325using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    8284      return clone;
    8385    }
     86
     87    public virtual void CollectParameterValues(IDictionary<string, IItem> values) {
     88      foreach (IValueParameter param in parameters.OfType<IValueParameter>()) {
     89        values.Add(param.Name, param.Value != null ? (IItem)param.Value.Clone() : null);
     90        if (param.Value is IParameterizedItem) {
     91          Dictionary<string, IItem> children = new Dictionary<string, IItem>();
     92          ((IParameterizedItem)param.Value).CollectParameterValues(children);
     93          foreach (string key in children.Keys)
     94            values.Add(param.Name + "." + key, children[key]);
     95        }
     96      }
     97    }
    8498  }
    8599}
Note: See TracChangeset for help on using the changeset viewer.