Free cookie consent management tool by TermsFeed Policy Generator

source: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ParameterBaseConverter.cs @ 17374

Last change on this file since 17374 was 17374, checked in by dpiringe, 3 years ago

#3026:

  • extended the BaseConverter class to set the type of the extracted value and removed the assignment of type in all other converters
  • fixed a bug in ConfigurableConverter -> now it correctly iterates through all items from an IEnumerable and calls the extract callback
  • MultiCheckedOperatorConverter:
    • deleted unnecessary code line
    • now adds operators to parameters (instead of operator list, because the operator list will get removed in a future commit)
    • does not set the path of its added items anymore
  • ParameterBaseConverter removed unnecessary code lines
  • deleted ParameterBaseConverter
  • reimplemented StorableConverter to test it again (still not really useable, because it bloats the template massively)
  • fixed a pathing bug in ValueParameterConverter (extended ValueRangeConverter, ValueTypeArrayConverter, ValueTypeMatrixConverter, ValueTypeValueConverter to archive this)
  • JCGenerator now only writes a single array with parameters (only FreeParameters) and saves a .hl File to test a new type of implementation of the whole JsonInterface
  • fixed a bug in JsonItem -> now it replaces the name in path of the item (not the whole path as it was before)
File size: 695 bytes
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using System.Threading.Tasks;
6using HeuristicLab.Core;
7
8namespace HeuristicLab.JsonInterface {
9  public abstract class ParameterBaseConverter : BaseConverter {
10    public override JsonItem ExtractData(IItem value) {
11      IParameter param = value.Cast<IParameter>();
12      JsonItem comp = ExtractData(param);
13      return comp;
14    }
15    public abstract JsonItem ExtractData(IParameter value);
16
17    public override void InjectData(IItem item, JsonItem data) => InjectData(item.Cast<IParameter>(), data);
18
19    public abstract void InjectData(IParameter parameter, JsonItem data);
20  }
21}
Note: See TracBrowser for help on using the repository browser.