X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fsnippets%2Fhighlevelstatehandlers%2Fstandard%2Fatomic%2FDelegatingAtomicHighLevelStateHandler.java;h=2529179790910c6f2d1c6efcbd7a30c19f5085ff;hb=039f31334c661633b71e945aa4332cedb7055526;hp=bd211324ab12045dfabc867bbcb9ae5d2d56df68;hpb=392fbda88f4fb2df7870aec7a3a0dcde277c1691;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/DelegatingAtomicHighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/DelegatingAtomicHighLevelStateHandler.java index bd211324..25291797 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/DelegatingAtomicHighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/DelegatingAtomicHighLevelStateHandler.java @@ -2,7 +2,10 @@ package net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic 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 { @@ -62,9 +65,31 @@ public class DelegatingAtomicHighLevelStateHandler implements AtomicHighLevelSta 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