e903257f19609c6665bd222465f20c1142a2f7ba
[Mograsim.git] / net.mograsim.logic.model / src / net / mograsim / logic / model / model / LogicModelModifiable.java
1 package net.mograsim.logic.model.model;
2
3 import java.util.Set;
4
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;
8
9 public class LogicModelModifiable extends LogicModel
10 {
11         public String getDefaultComponentName(ModelComponent component)
12         {
13                 Set<String> componentNames = getComponentsByName().keySet();
14                 String componentID = component.getIDForSerializing(new IdentifyParams());
15                 String nameBase = componentID + '#';
16                 for (int i = 0;; i++)
17                 {
18                         String nameCandidate = nameBase + i;
19                         if (!componentNames.contains(nameCandidate))
20                                 return nameCandidate;
21                 }
22         }
23
24         public String getDefaultWireName()
25         {
26                 Set<String> wireNames = getWiresByName().keySet();
27                 for (int i = 0;; i++)
28                 {
29                         String nameCandidate = "unnamedWire#" + i;
30                         if (!wireNames.contains(nameCandidate))
31                                 return nameCandidate;
32                 }
33         }
34
35         @Override
36         public void componentCreated(ModelComponent component, Runnable destroyed)
37         {
38                 super.componentCreated(component, destroyed);
39         }
40
41         @Override
42         public void destroyComponent(ModelComponent component)
43         {
44                 super.destroyComponent(component);
45         }
46
47         @Override
48         public void wireCreated(ModelWire wire, Runnable destroyed)
49         {
50                 super.wireCreated(wire, destroyed);
51         }
52
53         @Override
54         public void destroyWire(ModelWire wire)
55         {
56                 super.destroyWire(wire);
57         }
58 }