Fixed a problem with ModelComponent's names
[Mograsim.git] / net.mograsim.logic.model / src / net / mograsim / logic / model / snippets / highlevelstatehandlers / standard / atomic / DelegatingAtomicHighLevelStateHandler.java
index de9bc4a..621dde3 100644 (file)
@@ -1,8 +1,8 @@
 package net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic;
 
-import net.mograsim.logic.model.model.components.GUIComponent;
+import net.mograsim.logic.model.model.components.ModelComponent;
 import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
-import net.mograsim.logic.model.serializing.IdentifierGetter;
+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;
@@ -10,7 +10,7 @@ import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.Standar
 public class DelegatingAtomicHighLevelStateHandler implements AtomicHighLevelStateHandler
 {
        private final SubmodelComponent parentComponent;
-       private GUIComponent delegateTarget;
+       private ModelComponent delegateTarget;
        private String subStateID;
 
        public DelegatingAtomicHighLevelStateHandler(HighLevelStateHandlerContext context)
@@ -32,17 +32,17 @@ public class DelegatingAtomicHighLevelStateHandler implements AtomicHighLevelSta
                }
        }
 
-       public void set(GUIComponent delegateTarget, String subStateID)
+       public void set(ModelComponent delegateTarget, String subStateID)
        {
                setDelegateTarget(delegateTarget);
                setSubStateID(subStateID);
        }
 
-       public void setDelegateTarget(GUIComponent delegateTarget)
+       public void setDelegateTarget(ModelComponent delegateTarget)
        {
                if (delegateTarget == null)
                        this.delegateTarget = parentComponent;
-               else if (parentComponent.submodel.getComponentsByName().get(delegateTarget.name) != delegateTarget)
+               else if (parentComponent.submodel.getComponentsByName().get(delegateTarget.getName()) != delegateTarget)
                        throw new IllegalArgumentException(
                                        "Can only set components belonging to the submodel of the parent component of this handler as the delegate target");
                this.delegateTarget = delegateTarget;
@@ -66,10 +66,16 @@ public class DelegatingAtomicHighLevelStateHandler implements AtomicHighLevelSta
        }
 
        @Override
-       public DelegatingAtomicHighLevelStateHandlerParams getParamsForSerializing(IdentifierGetter idGetter)
+       public String getIDForSerializing(IdentifyParams idParams)
+       {
+               return "delegating";
+       }
+
+       @Override
+       public DelegatingAtomicHighLevelStateHandlerParams getParamsForSerializing(IdentifyParams idParams)
        {
                DelegatingAtomicHighLevelStateHandlerParams params = new DelegatingAtomicHighLevelStateHandlerParams();
-               params.delegateTarget = delegateTarget.name;
+               params.delegateTarget = delegateTarget.getName();
                params.subStateID = subStateID;
                return params;
        }