Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/01/12 15:15:22 (12 years ago)
Author:
abeham
Message:

#1614

  • Fixed plugin dependencies
  • Updated GQAP view
  • Changed instances infrastructure
    • Changed interface types into classes
    • Removed the library specific instance classes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GeneralizedQAP/HeuristicLab.Problems.Instances/3.3/ProblemInstanceProvider.cs

    r7482 r7538  
    2424
    2525namespace HeuristicLab.Problems.Instances {
    26   public abstract class ProblemInstanceProvider<T> : IProblemInstanceProvider<T> {
    27     private IProblemInstanceConsumer<T> Consumer { get; set; }
     26  public abstract class ProblemInstanceProvider<TInstance> : IProblemInstanceProvider<TInstance> {
     27    public virtual IConsumable<TInstance> Consumer { get; set; }
    2828
    2929    public abstract string Name { get; }
     
    3232    public abstract string ReferencePublication { get; }
    3333
    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 
    4834    public abstract IEnumerable<IInstanceDescriptor> GetInstanceDescriptors();
    4935
    50     public abstract T GetInstance(IInstanceDescriptor descriptor);
     36    public abstract TInstance LoadInstance(IInstanceDescriptor descriptor);
     37    public abstract TInstance LoadInstance(string path);
    5138
     39    public abstract void SaveInstance(TInstance instance, string path);
    5240  }
    5341}
Note: See TracChangeset for help on using the changeset viewer.