1 package net.mograsim.logic.model.model;
5 import net.mograsim.logic.model.model.components.ModelComponent;
6 import net.mograsim.logic.model.model.wires.ModelWire;
7 import net.mograsim.logic.model.serializing.IdentifyParams;
9 public class LogicModelModifiable extends LogicModel
11 public String getDefaultComponentName(ModelComponent component)
13 Set<String> componentNames = getComponentsByName().keySet();
14 String componentID = component.getIDForSerializing(new IdentifyParams());
15 String nameBase = componentID + '#';
18 String nameCandidate = nameBase + i;
19 if (!componentNames.contains(nameCandidate))
24 public String getDefaultWireName()
26 Set<String> wireNames = getWiresByName().keySet();
29 String nameCandidate = "unnamedWire#" + i;
30 if (!wireNames.contains(nameCandidate))
36 public void componentCreated(ModelComponent component, Runnable destroyed)
38 super.componentCreated(component, destroyed);
42 public void destroyComponent(ModelComponent component)
44 super.destroyComponent(component);
48 public void wireCreated(ModelWire wire, Runnable destroyed)
50 super.wireCreated(wire, destroyed);
54 public void destroyWire(ModelWire wire)
56 super.destroyWire(wire);