using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using HeuristicLab.Core; namespace HeuristicLab.JsonInterface { public abstract class ParameterBaseConverter : BaseConverter { public override JsonItem ExtractData(IItem value) { IParameter param = value.Cast(); JsonItem comp = ExtractData(param); //comp.Path = value.Cast().ActualValue?.ItemName; /*comp.Path = value.Cast().Name + "." + comp.Path; if(comp.ParameterizedItems != null) { foreach (var item in comp.ParameterizedItems) { item.Path = value.Cast().Name + "." + item.Path; } }*/ return comp; } public abstract JsonItem ExtractData(IParameter value); public override void InjectData(IItem item, JsonItem data) => InjectData(item.Cast(), data); public abstract void InjectData(IParameter parameter, JsonItem data); } }