MPROMEditor now calls its columns "Opcode" and "muPC"
[Mograsim.git] / plugins / net.mograsim.logic.model / src / net / mograsim / logic / model / snippets / highlevelstatehandlers / DefaultHighLevelStateHandler.java
1 package net.mograsim.logic.model.snippets.highlevelstatehandlers;
2
3 import java.util.function.Consumer;
4
5 import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
6 import net.mograsim.logic.model.serializing.IdentifyParams;
7 import net.mograsim.logic.model.snippets.HighLevelStateHandler;
8 import net.mograsim.logic.model.snippets.SnippetDefinintion;
9 import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers;
10
11 public class DefaultHighLevelStateHandler implements HighLevelStateHandler
12 {
13         public DefaultHighLevelStateHandler()
14         {
15                 this(null);
16         }
17
18         public DefaultHighLevelStateHandler(SubmodelComponent component)
19         {
20                 this(component, null);
21         }
22
23         @SuppressWarnings("unused") // we don't need the component; and params are always null
24         public DefaultHighLevelStateHandler(SubmodelComponent component, Void params)
25         {
26                 // nothing to do here
27         }
28
29         @Override
30         public Object get(String stateID)
31         {
32                 throw new IllegalArgumentException("No high level state with ID " + stateID);
33         }
34
35         @Override
36         public void set(String stateID, Object newState)
37         {
38                 throw new IllegalArgumentException("No high level state with ID " + stateID);
39         }
40
41         @Override
42         public void addListener(String stateID, Consumer<Object> stateChanged)
43         {
44                 throw new IllegalArgumentException("No high level state with ID " + stateID);
45         }
46
47         @Override
48         public void removeListener(String stateID, Consumer<Object> stateChanged)
49         {
50                 throw new IllegalArgumentException("No high level state with ID " + stateID);
51         }
52
53         @Override
54         public String getIDForSerializing(IdentifyParams idParams)
55         {
56                 return "default";
57         }
58
59         @Override
60         public Void getParamsForSerializing(IdentifyParams idParams)
61         {
62                 return null;
63         }
64
65         static
66         {
67                 SubmodelComponentSnippetSuppliers.highLevelStateHandlerSupplier.setSnippetSupplier(
68                                 DefaultHighLevelStateHandler.class.getCanonicalName(),
69                                 SnippetDefinintion.create(Void.class, DefaultHighLevelStateHandler::new));
70         }
71 }