X-Git-Url: https://mograsim.net/gitweb/?p=Mograsim.git;a=blobdiff_plain;f=plugins%2Fnet.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fsnippets%2Fhighlevelstatehandlers%2Fstandard%2Fsubcomponent%2FDelegatingSubcomponentHighLevelStateHandler.java;h=295be02e4dbe5a3b14054db48cd5f6565fa43e5a;hp=a7f2c817a8f57446445bda046d86ebae191d0720;hb=2c32f5e4b0549a6b97a32cc96a36971c495ce11d;hpb=b807c368a322f07144d976c502b3d242bc7ea51e diff --git a/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/DelegatingSubcomponentHighLevelStateHandler.java b/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/DelegatingSubcomponentHighLevelStateHandler.java index a7f2c817..295be02e 100644 --- a/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/DelegatingSubcomponentHighLevelStateHandler.java +++ b/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/DelegatingSubcomponentHighLevelStateHandler.java @@ -52,13 +52,13 @@ public class DelegatingSubcomponentHighLevelStateHandler implements Subcomponent public void setDelegateTarget(ModelComponent delegateTarget) { - if (delegateTarget == null) + if (delegateTarget == null || delegateTarget == parentComponent) this.delegateTarget = parentComponent; - else if (delegateTarget != parentComponent - && parentComponent.submodel.getComponentsByName().get(delegateTarget.getName()) != delegateTarget) + else if (parentComponent.submodel.getComponentsByName().get(delegateTarget.getName()) == delegateTarget) + this.delegateTarget = delegateTarget; + else throw new IllegalArgumentException( "Can only set components belonging to the submodel of the parent component of this handler or the parent component itself as the delegate target"); - this.delegateTarget = delegateTarget; } public ModelComponent getDelegateTarget()