source: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Interfaces/IJsonItemConverter.cs @ 17843

Last change on this file since 17843 was 17843, checked in by dpiringe, 7 weeks ago

#3026

  • removed property ConvertableType from all converters
  • removed the option to fixate or loosen the path of JsonItems (obsolete)
  • added a abstract formatter SymbolicRegressionSolutionFormatterBase as base formatter for ISymbolicRegressionSolution
  • unified the construction of exporter controls
  • code cleanup
File size: 1.1 KB
Line 
1using System;
2using HeuristicLab.Core;
3
4namespace HeuristicLab.JsonInterface {
5  public interface IJsonItemConverter {
6    /// <summary>
7    /// Injects the saved infos from the JsonItem into the IItem.
8    /// (Sets the necessary values.)
9    /// </summary>
10    /// <param name="item">The IItem which get the data injected.</param>
11    /// <param name="data">The JsonItem with the saved values.</param>
12    void Inject(IItem item, IJsonItem data, IJsonItemConverter root);
13
14    /// <summary>
15    /// Extracts all infos out of an IItem to create a JsonItem.
16    /// (For template generation.)
17    /// </summary>
18    /// <param name="value">The IItem to extract infos.</param>
19    /// <returns>JsonItem with infos to reinitialise the IItem.</returns>
20    IJsonItem Extract(IItem value, IJsonItemConverter root);
21
22    /// <summary>
23    /// A given priority, higher numbers are prior.
24    /// </summary>
25    int Priority { get; }
26
27    /// <summary>
28    /// Checks if the given type can be converted.
29    /// </summary>
30    /// <param name="t"></param>
31    /// <returns></returns>
32    bool CanConvertType(Type t);
33  }
34}
35
Note: See TracBrowser for help on using the repository browser.