Changeset 7538 for branches/GeneralizedQAP/HeuristicLab.Problems.Instances/3.3/ProblemInstanceProvider.cs
- Timestamp:
- 03/01/12 15:15:22 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GeneralizedQAP/HeuristicLab.Problems.Instances/3.3/ProblemInstanceProvider.cs
r7482 r7538 24 24 25 25 namespace HeuristicLab.Problems.Instances { 26 public abstract class ProblemInstanceProvider<T > : IProblemInstanceProvider<T> {27 p rivate IProblemInstanceConsumer<T> Consumer { get; set; }26 public abstract class ProblemInstanceProvider<TInstance> : IProblemInstanceProvider<TInstance> { 27 public virtual IConsumable<TInstance> Consumer { get; set; } 28 28 29 29 public abstract string Name { get; } … … 32 32 public abstract string ReferencePublication { get; } 33 33 34 public bool ConsumerCanBeFed {35 get { return Consumer != null; }36 }37 38 public void SetConsumer(IProblemInstanceConsumer consumer) {39 if (consumer is IProblemInstanceConsumer<T>)40 Consumer = (IProblemInstanceConsumer<T>)consumer;41 else Consumer = null;42 }43 44 public bool FeedConsumer(IInstanceDescriptor descriptor) {45 return Consumer.LoadFrom(GetInstance(descriptor));46 }47 48 34 public abstract IEnumerable<IInstanceDescriptor> GetInstanceDescriptors(); 49 35 50 public abstract T GetInstance(IInstanceDescriptor descriptor); 36 public abstract TInstance LoadInstance(IInstanceDescriptor descriptor); 37 public abstract TInstance LoadInstance(string path); 51 38 39 public abstract void SaveInstance(TInstance instance, string path); 52 40 } 53 41 }
Note: See TracChangeset
for help on using the changeset viewer.