eb08addc0c05f6cea53dcd391dc79fc470933bba
[Mograsim.git] / net.mograsim.logic.model / src / net / mograsim / logic / model / serializing / snippets / highlevelstatehandlers / DefaultHighLevelStateHandler.java
1 package net.mograsim.logic.model.serializing.snippets.highlevelstatehandlers;
2
3 import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
4 import net.mograsim.logic.model.serializing.CodeSnippetSupplier;
5 import net.mograsim.logic.model.serializing.snippets.HighLevelStateHandler;
6 import net.mograsim.logic.model.serializing.snippets.SnippetSupplier;
7
8 public class DefaultHighLevelStateHandler implements HighLevelStateHandler
9 {
10         @SuppressWarnings("unused") // we don't need the component; and params are always null
11         public DefaultHighLevelStateHandler(SubmodelComponent component, Void params)
12         {
13                 // nothing to do here
14         }
15
16         @Override
17         public void setHighLevelState(String stateID, Object newState)
18         {
19                 throw new IllegalArgumentException("No high level state with ID " + stateID);
20         }
21
22         @Override
23         public Object getHighLevelState(String stateID)
24         {
25                 throw new IllegalArgumentException("No high level state with ID " + stateID);
26         }
27
28         static
29         {
30                 CodeSnippetSupplier.highLevelStateHandlerSupplier.setSnippetSupplier(DefaultHighLevelStateHandler.class.getCanonicalName(),
31                                 SnippetSupplier.create(Void.class, DefaultHighLevelStateHandler::new));
32         }
33 }