Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/27/20 12:18:06 (4 years ago)
Author:
dpiringe
Message:

#3026:

  • simplified converter inheritance:
    • BaseConverter now only has Inject and Extract from IJsonItemConverter as abstract methods
    • removed ParameterBaseConverter
    • concrete converters have to initialize their JsonItem now -> enables better handling with different types of JsonItem
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/MultiCheckedOperatorConverter.cs

    r17406 r17407  
    1111    public override int Priority => 3;
    1212    public override Type ConvertableType => typeof(ICheckedMultiOperator<>);
     13   
     14    public override void Inject(IItem item, IJsonItem data, IJsonItemConverter root) {
     15      base.Inject(item, data, root);
    1316
    14     public override void Populate(IItem value, IJsonItem item, IJsonItemConverter root) {
    15       base.Populate(value, item, root);
     17      dynamic val = item as dynamic;
     18      foreach (var op in val.Operators)
     19        val.Operators.SetItemCheckedState(op, GetOperatorState(op.Name, data));
     20    }
    1621
     22    public override IJsonItem Extract(IItem value, IJsonItemConverter root) {
     23      IJsonItem item = base.Extract(value, root);
    1724      dynamic val = value as dynamic;
    1825      foreach (var op in val.Operators) {
     
    2330        });
    2431      }
     32      return item;
    2533    }
    2634
    27     public override void InjectData(IItem item, IJsonItem data, IJsonItemConverter root) {
    28       base.InjectData(item, data, root);
    2935
    30       dynamic val = item as dynamic;
    31       foreach (var op in val.Operators)
    32         val.Operators.SetItemCheckedState(op, GetOperatorState(op.Name, data));
    33     }
    34 
     36    #region Helper
    3537    private bool GetOperatorState(string name, IJsonItem data) {
    3638      foreach(var op in data.Children) {
     
    3941      return false;
    4042    }
     43    #endregion
    4144  }
    4245}
Note: See TracChangeset for help on using the changeset viewer.