Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/06/10 01:56:04 (13 years ago)
Author:
swagner
Message:

Merged cloning refactoring branch back into trunk (#922)

Location:
trunk/sources
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources

  • trunk/sources/HeuristicLab.Optimization/3.3/RunCollectionConstraints/RunCollectionComparisonConstraint.cs

    r4157 r4722  
    3333    [StorableConstructor]
    3434    protected RunCollectionComparisonConstraint(bool deserializing) : base(deserializing) { }
     35
     36    protected RunCollectionComparisonConstraint(RunCollectionComparisonConstraint original, Cloner cloner)
     37      : base(original, cloner) {
     38      constraintColumn = original.constraintColumn;
     39    }
     40    public override IDeepCloneable Clone(Cloner cloner) {
     41      return new RunCollectionComparisonConstraint(this, cloner);
     42    }
    3543
    3644    public RunCollectionComparisonConstraint() : base() { }
     
    128136      return s;
    129137    }
    130 
    131     public override IDeepCloneable Clone(HeuristicLab.Common.Cloner cloner) {
    132       RunCollectionComparisonConstraint clone = (RunCollectionComparisonConstraint)base.Clone(cloner);
    133 
    134       IItem constraintDataItem = this.ConstraintData as IItem;
    135       ICloneable constraintDataCloneable = this.ConstraintData as ICloneable;
    136       if (constraintDataItem != null)
    137         clone.ConstraintData = (IStringConvertibleValue)cloner.Clone(constraintDataItem);
    138       else if (constraintDataCloneable != null)
    139         clone.ConstraintData = (IStringConvertibleValue)constraintDataCloneable.Clone();
    140       else
    141         clone.ConstraintData = this.ConstraintData;
    142 
    143       clone.ConstraintOperation = this.ConstraintOperation;
    144       clone.constraintColumn = this.constraintColumn;
    145 
    146       return clone;
    147     }
    148138  }
    149139}
  • trunk/sources/HeuristicLab.Optimization/3.3/RunCollectionConstraints/RunCollectionConstraintCollection.cs

    r4068 r4722  
    2020#endregion
    2121using System.Collections.Generic;
     22using HeuristicLab.Common;
    2223using HeuristicLab.Core;
    2324using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    3233    [StorableConstructor]
    3334    protected RunCollectionConstraintCollection(bool deserializing) : base(deserializing) { }
     35    protected RunCollectionConstraintCollection(RunCollectionConstraintCollection original, Cloner cloner)
     36      : base(original, cloner) {
     37    }
     38    public override IDeepCloneable Clone(Cloner cloner) {
     39      return new RunCollectionConstraintCollection(this, cloner);
     40    }
    3441  }
    3542}
  • trunk/sources/HeuristicLab.Optimization/3.3/RunCollectionConstraints/RunCollectionEqualityConstraint.cs

    r4157 r4722  
    3333    [StorableConstructor]
    3434    protected RunCollectionEqualityConstraint(bool deserializing) : base(deserializing) { }
     35
     36    protected RunCollectionEqualityConstraint(RunCollectionEqualityConstraint original, Cloner cloner)
     37      : base(original, cloner) {
     38      ConstraintData = original.ConstraintData;
     39      ConstraintOperation = original.ConstraintOperation;
     40      constraintColumn = original.constraintColumn;
     41    }
     42    public override IDeepCloneable Clone(Cloner cloner) {
     43      return new RunCollectionEqualityConstraint(this, cloner);
     44    }
    3545
    3646    public RunCollectionEqualityConstraint()
     
    127137      return s;
    128138    }
    129 
    130     public override IDeepCloneable Clone(HeuristicLab.Common.Cloner cloner) {
    131       RunCollectionEqualityConstraint clone = (RunCollectionEqualityConstraint)base.Clone(cloner);
    132       clone.ConstraintData = this.ConstraintData;
    133       clone.ConstraintOperation = this.ConstraintOperation;
    134       clone.constraintColumn = this.constraintColumn;
    135 
    136       return clone;
    137     }
    138139  }
    139140}
  • trunk/sources/HeuristicLab.Optimization/3.3/RunCollectionConstraints/RunCollectionTypeCompatiblityConstraint.cs

    r4157 r4722  
    3131  [Item("RunCollectionTypeCompatibilityConstraint", "A constraint which checks the members of the contained runs for type compabitiliby to the constraint data.")]
    3232  public class RunCollectionTypeCompatibilityConstraint : TypeCompatibilityConstraint, IRunCollectionConstraint {
     33    [StorableConstructor]
     34    protected RunCollectionTypeCompatibilityConstraint(bool deserializing) {
     35    }
     36    protected RunCollectionTypeCompatibilityConstraint(RunCollectionTypeCompatibilityConstraint original, Cloner cloner)
     37      : base(original, cloner) {
     38      ConstraintData = original.ConstraintData;
     39      ConstraintOperation = original.ConstraintOperation;
     40      constraintColumn = original.constraintColumn;
     41    }
     42    public override IDeepCloneable Clone(Cloner cloner) {
     43      return new RunCollectionTypeCompatibilityConstraint(this, cloner);
     44    }
     45
    3346    public RunCollectionTypeCompatibilityConstraint()
    3447      : base() {
    35     }
    36     [StorableConstructor]
    37     protected RunCollectionTypeCompatibilityConstraint(bool deserializing) {
    3848    }
    3949    public RunCollectionTypeCompatibilityConstraint(RunCollection constrainedValue, ConstraintOperation constraintOperation, Type constraintData)
     
    120130      return s;
    121131    }
    122 
    123     public override IDeepCloneable Clone(HeuristicLab.Common.Cloner cloner) {
    124       RunCollectionTypeCompatibilityConstraint clone = (RunCollectionTypeCompatibilityConstraint)base.Clone(cloner);
    125       clone.ConstraintData = this.ConstraintData;
    126       clone.ConstraintOperation = this.ConstraintOperation;
    127       clone.constraintColumn = this.constraintColumn;
    128 
    129       return clone;
    130     }
    131132  }
    132133}
Note: See TracChangeset for help on using the changeset viewer.