using HEAL.Attic; using HeuristicLab.Common; using HeuristicLab.Core; using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; namespace HeuristicLab.EvolutionTracking { [Item("Fragment", "A fragment is an object that represents a piece of inherited genetic information.")] [StorableType("21BE7538-052E-451E-A0A3-CD8CBF51B051")] public class Fragment : Item, IFragment { [Storable] public int Index1 { get; set; } [Storable] public int Index2 { get; set; } [Storable] private object root; public object Root { get { return root; } set { root = value; } } [StorableConstructor] protected Fragment(StorableConstructorFlag _) : base(_) { } protected Fragment(Fragment original, Cloner cloner) : base(original, cloner) { Root = original.Root; Index1 = original.Index1; Index2 = original.Index2; } public override IDeepCloneable Clone(Cloner cloner) { return new Fragment(this, cloner); } public Fragment() { } } [Item("Fragment", "A fragment is an object that represents a piece of inherited genetic information.")] [StorableType("19346017-6C9E-41BF-BCD2-00B1FE82F2FA")] public class Fragment : Fragment, IFragment where T : class { public new T Root { get { return (T)base.Root; } set { base.Root = value; } } public override IDeepCloneable Clone(Cloner cloner) { return new Fragment(this, cloner); } protected Fragment(Fragment original, Cloner cloner) : base(original, cloner) { } [StorableConstructor] protected Fragment(StorableConstructorFlag _) : base(_) { } public Fragment() { } } }