Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/07/16 23:14:22 (8 years ago)
Author:
abeham
Message:

#2457: Adapted branch to trunk changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/PerformanceComparison/HeuristicLab.OptimizationExpertSystem/3.3/ProblemCharacteristicAnalysis/CharacteristicCalculator.cs

    r13551 r13594  
    2020#endregion
    2121
    22 using System.Collections.Generic;
    2322using HeuristicLab.Common;
    2423using HeuristicLab.Core;
     24using HeuristicLab.Data;
    2525using HeuristicLab.Optimization;
    2626using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using System.Collections.Generic;
    2728
    2829namespace HeuristicLab.Problems.CharacteristicAnalysis {
    2930  [Item("Characteristic Calculator", "")]
    3031  [StorableClass]
    31   public abstract class CharacteristicCalculator : NamedItem, ICharacteristicCalculator {
     32  public abstract class CharacteristicCalculator : ParameterizedNamedItem, ICharacteristicCalculator {
    3233
    33     public abstract IEnumerable<string> Characteristics { get; }
     34    [Storable]
     35    public IProblem Problem { get; set; }
     36
     37    [Storable]
     38    protected CheckedItemList<StringValue> characteristics;
     39    public ReadOnlyCheckedItemList<StringValue> Characteristics { get { return characteristics.AsReadOnly(); } }
    3440
    3541    [StorableConstructor]
    3642    protected CharacteristicCalculator(bool deserializing) : base(deserializing) { }
    37     protected CharacteristicCalculator(CharacteristicCalculator original, Cloner cloner) : base(original, cloner) { }
     43    protected CharacteristicCalculator(CharacteristicCalculator original, Cloner cloner)
     44      : base(original, cloner) {
     45      characteristics = cloner.Clone(original.characteristics);
     46      Problem = cloner.Clone(original.Problem);
     47    }
    3848    protected CharacteristicCalculator()
    3949      : base() {
    4050      name = ItemName;
    4151      description = ItemDescription;
     52      characteristics = new CheckedItemList<StringValue>();
    4253    }
    4354
    44     public abstract bool CanCalculate(IProblem problem);
     55    public abstract bool CanCalculate();
    4556
    46     public abstract IEnumerable<KeyValuePair<string, IItem>> Calculate(IProblem problem, IEnumerable<string> characteristics = null);
     57    public abstract IEnumerable<IResult> Calculate();
    4758  }
    4859}
Note: See TracChangeset for help on using the changeset viewer.