4c82bdcf2d142d85257b0f4d32558878ef25a340
[Mograsim.git] / net.mograsim.logic.model / src / net / mograsim / logic / model / snippets / highlevelstatehandlers / standard / subcomponent / SubcomponentHighLevelStateHandler.java
1 package net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent;
2
3 import com.google.gson.JsonElement;
4
5 import net.mograsim.logic.model.serializing.JSONSerializable;
6 import net.mograsim.logic.model.snippets.HighLevelStateHandler;
7
8 public interface SubcomponentHighLevelStateHandler extends JSONSerializable
9 {
10         /**
11          * Gets the current value of the given high level state of the subcomponent represented by this SubcomponentHighLevelStateHandler.<br>
12          * See {@link HighLevelStateHandler} for an explanation of high-level state IDs.
13          * 
14          * @author Daniel Kirschten
15          */
16         public Object getHighLevelState(String subStateID);
17
18         /**
19          * Sets the given high level state of the subcomponent represented by this SubcomponentHighLevelStateHandler to the given value.<br>
20          * See {@link HighLevelStateHandler} for an explanation of high-level state IDs.
21          * 
22          * @author Daniel Kirschten
23          */
24         public void setHighLevelState(String subStateID, Object newState);
25
26         public static class SubcomponentHighLevelStateHandlerParams
27         {
28                 public String id;
29                 public JsonElement params;
30         }
31 }