X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fserializing%2FDeserializedSubmodelComponent.java;h=8e4d459c76036aa951d69421fe7d30fed38f43a1;hb=43f832fac0531473dc97af75edb7c5b1cb9f6ce4;hp=33f00e15716a7146ac81ba8218bfbdeb39cc834e;hpb=71b9365427f28f4bb489c12b768e26db5492f8f1;p=Mograsim.git
diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java
index 33f00e15..8e4d459c 100644
--- a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java
+++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java
@@ -23,10 +23,10 @@ public class DeserializedSubmodelComponent extends SubmodelComponent
/**
* See {@link #idForSerializingOverride}
*/
- public final JsonElement paramsForSerializingOverride;
+ public final Object paramsForSerializingOverride;
public DeserializedSubmodelComponent(LogicModelModifiable model, String name, String idForSerializingOverride,
- JsonElement paramsForSerializingOverride)
+ Object paramsForSerializingOverride)
{
super(model, name, false);
this.idForSerializingOverride = idForSerializingOverride;
@@ -34,6 +34,32 @@ public class DeserializedSubmodelComponent extends SubmodelComponent
init();
}
+ /**
+ * If this component has an {@link #idForSerializingOverride} set (e.g. non-null) (see
+ * {@link SubmodelComponentSerializer#deserialize(LogicModelModifiable, SubmodelComponentParams, String, String, JsonElement)
+ * SubmodelComponentSerializer.deserialize(...)}), this ID is returned
+ * If this case doesn't apply (this component has no {@link #idForSerializingOverride} set),
+ * {@link SubmodelComponent#getIDForSerializing(IdentifyParams)} is invoced.
+ */
+ @Override
+ public String getIDForSerializing(IdentifyParams idParams)
+ {
+ return idForSerializingOverride == null ? super.getIDForSerializing(idParams) : idForSerializingOverride;
+ }
+
+ /**
+ * If this component has an {@link #idForSerializingOverride} set (e.g. non-null) (see
+ * {@link SubmodelComponentSerializer#deserialize(LogicModelModifiable, SubmodelComponentParams, String, String, JsonElement)
+ * SubmodelComponentSerializer.deserialize(...)}), {@link #paramsForSerializingOverride} is returned
+ * If this case doesn't apply (this component has no {@link #idForSerializingOverride} set),
+ * {@link SubmodelComponent#getParamsForSerializing(IdentifyParams)} is invoced.
+ */
+ @Override
+ public Object getParamsForSerializing(IdentifyParams idParams)
+ {
+ return idForSerializingOverride == null ? super.getParamsForSerializing(idParams) : paramsForSerializingOverride;
+ }
+
@Override
public void setSymbolRenderer(Renderer symbolRenderer)
{