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=9d2645d7232a1a911a773dcb2c874c39c1bcb4eb;hb=8bed58cd47f4e53a0a83e066d38864aa6875502f;hp=1deabde833b22e07972cfc9efc5a66741e9d3ffb;hpb=5140b424c507b8f22f80b452e475d0b56a3a36ce;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 1deabde8..9d2645d7 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 @@ -4,7 +4,6 @@ import net.mograsim.logic.model.model.components.ModelComponent; 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 @@ -13,14 +12,14 @@ public class DelegatingAtomicHighLevelStateHandler implements AtomicHighLevelSta private ModelComponent delegateTarget; private String subStateID; - public DelegatingAtomicHighLevelStateHandler(HighLevelStateHandlerContext context) + public DelegatingAtomicHighLevelStateHandler(SubmodelComponent component) { - this(context, null); + this(component, null); } - public DelegatingAtomicHighLevelStateHandler(HighLevelStateHandlerContext context, DelegatingAtomicHighLevelStateHandlerParams params) + public DelegatingAtomicHighLevelStateHandler(SubmodelComponent component, DelegatingAtomicHighLevelStateHandlerParams params) { - this.parentComponent = context.component; + this.parentComponent = component; if (params != null) { // TODO document this @@ -98,6 +97,8 @@ public class DelegatingAtomicHighLevelStateHandler implements AtomicHighLevelSta @Override public DelegatingAtomicHighLevelStateHandlerParams getParamsForSerializing(IdentifyParams idParams) { + if (delegateTarget == null) + throw new IllegalStateException("Delegating to a component that was destroyed"); DelegatingAtomicHighLevelStateHandlerParams params = new DelegatingAtomicHighLevelStateHandlerParams(); params.delegateTarget = delegateTarget.getName(); params.subStateID = subStateID;