import net.mograsim.logic.model.model.components.GUIComponent;
import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
+import net.mograsim.logic.model.serializing.IdentifyParams;
+import net.mograsim.logic.model.snippets.SnippetDefinintion;
import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.HighLevelStateHandlerContext;
+import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandlerSnippetSuppliers;
public class DelegatingAtomicHighLevelStateHandler implements AtomicHighLevelStateHandler
{
delegateTarget.setHighLevelState(subStateID, newState);
}
+ @Override
+ public String getIDForSerializing(IdentifyParams idParams)
+ {
+ return "delegating";
+ }
+
+ @Override
+ public DelegatingAtomicHighLevelStateHandlerParams getParamsForSerializing(IdentifyParams idParams)
+ {
+ DelegatingAtomicHighLevelStateHandlerParams params = new DelegatingAtomicHighLevelStateHandlerParams();
+ params.delegateTarget = delegateTarget.name;
+ params.subStateID = subStateID;
+ return params;
+ }
+
public static class DelegatingAtomicHighLevelStateHandlerParams
{
public String delegateTarget;
public String subStateID;
}
+
+ static
+ {
+ StandardHighLevelStateHandlerSnippetSuppliers.atomicHandlerSupplier.setSnippetSupplier(
+ DelegatingAtomicHighLevelStateHandler.class.getCanonicalName(),
+ SnippetDefinintion.create(DelegatingAtomicHighLevelStateHandlerParams.class, DelegatingAtomicHighLevelStateHandler::new));
+ }
}
\ No newline at end of file