package org.simantics.spreadsheet.graph.synchronization; import java.util.Collection; import java.util.Map; import org.simantics.databoard.binding.mutable.Variant; import org.simantics.structural.synchronization.base.CommandBuilder; import org.simantics.structural.synchronization.base.ModuleUpdateContext; import org.simantics.structural.synchronization.base.ModuleUpdaterBase; import org.simantics.structural.synchronization.base.PropertyUpdateRule; public class LineNodeUpdater extends ModuleUpdaterBase { public LineNodeUpdater(String id) { super(id); isComposite = true; addPropertyUpdateRule(new PropertyUpdateRule() { @Override public String getPropertyName() { return "keys"; } @Override public void apply(ModuleUpdateContext context, boolean isCreating, Map propertyMap, Map> connectionMap, Variant value) { LinesCommandBuilder builder = context.getConcreteCommand(); Variant v = propertyMap.get("keys"); if (v != null & v.getValue() != null) builder.keys = (int[])v.getValue(); } }); } @Override public CommandBuilder createAddCommandBuilder(String name) { return new LinesCommandBuilder(name, false); } @Override public CommandBuilder createUpdateCommandBuilder(String name) { return new LinesCommandBuilder(name, true); } }