Merge remote-tracking branch 'origin/development' into development
[Mograsim.git] / net.mograsim.logic.model / src / net / mograsim / logic / model / snippets / highlevelstatehandlers / DefaultHighLevelStateHandler.java
1 package net.mograsim.logic.model.snippets.highlevelstatehandlers;
2
3 import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
4 import net.mograsim.logic.model.snippets.HighLevelStateHandler;
5 import net.mograsim.logic.model.snippets.SnippetDefinintion;
6 import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers;
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 Object getHighLevelState(String stateID)
18         {
19                 throw new IllegalArgumentException("No high level state with ID " + stateID);
20         }
21
22         @Override
23         public void setHighLevelState(String stateID, Object newState)
24         {
25                 throw new IllegalArgumentException("No high level state with ID " + stateID);
26         }
27
28         static
29         {
30                 SubmodelComponentSnippetSuppliers.highLevelStateHandlerSupplier.setSnippetSupplier(
31                                 DefaultHighLevelStateHandler.class.getCanonicalName(),
32                                 SnippetDefinintion.create(Void.class, DefaultHighLevelStateHandler::new));
33         }
34 }