1 package net.mograsim.logic.model.snippets.highlevelstatehandlers;
3 import java.util.function.Consumer;
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;
11 public class DefaultHighLevelStateHandler implements HighLevelStateHandler
13 public DefaultHighLevelStateHandler()
18 public DefaultHighLevelStateHandler(SubmodelComponent component)
20 this(component, null);
23 @SuppressWarnings("unused") // we don't need the component; and params are always null
24 public DefaultHighLevelStateHandler(SubmodelComponent component, Void params)
30 public Object get(String stateID)
32 throw new IllegalArgumentException("No high level state with ID " + stateID);
36 public void set(String stateID, Object newState)
38 throw new IllegalArgumentException("No high level state with ID " + stateID);
42 public void addListener(String stateID, Consumer<Object> stateChanged)
44 throw new IllegalArgumentException("No high level state with ID " + stateID);
48 public void removeListener(String stateID, Consumer<Object> stateChanged)
50 throw new IllegalArgumentException("No high level state with ID " + stateID);
54 public String getIDForSerializing(IdentifyParams idParams)
60 public Void getParamsForSerializing(IdentifyParams idParams)
67 SubmodelComponentSnippetSuppliers.highLevelStateHandlerSupplier.setSnippetSupplier(
68 DefaultHighLevelStateHandler.class.getCanonicalName(),
69 SnippetDefinintion.create(Void.class, DefaultHighLevelStateHandler::new));