import java.util.HashMap;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.function.BiFunction;
import java.util.function.Function;
import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
+import net.mograsim.logic.model.serializing.IdentifyParams;
import net.mograsim.logic.model.snippets.HighLevelStateHandler;
import net.mograsim.logic.model.snippets.SnippetDefinintion;
import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers;
}
}
+ @Override
+ public String getIDForSerializing(IdentifyParams idParams)
+ {
+ return "standard";
+ }
+
+ @Override
+ public StandardHighLevelStateHandlerParams getParamsForSerializing(IdentifyParams idParams)
+ {
+ StandardHighLevelStateHandlerParams params = new StandardHighLevelStateHandlerParams();
+ params.subcomponentHighLevelStates = new HashMap<>();
+ params.atomicHighLevelStates = new HashMap<>();
+ for (Entry<String, SubcomponentHighLevelStateHandler> e : subcomponentHighLevelStateHandlers.entrySet())
+ {
+ String stateID = e.getKey();
+ SubcomponentHighLevelStateHandler handler = e.getValue();
+ SubcomponentHighLevelStateHandlerParams handlerParams = new SubcomponentHighLevelStateHandlerParams();
+ handlerParams.id = handler.getIDForSerializing(idParams);
+ handlerParams.params = handler.getParamsForSerializingJSON(idParams);
+ params.subcomponentHighLevelStates.put(stateID, handlerParams);
+ }
+ for (Entry<String, AtomicHighLevelStateHandler> e : atomicHighLevelStateHandlers.entrySet())
+ {
+ String stateID = e.getKey();
+ AtomicHighLevelStateHandler handler = e.getValue();
+ AtomicHighLevelStateHandlerParams handlerParams = new AtomicHighLevelStateHandlerParams();
+ handlerParams.id = handler.getIDForSerializing(idParams);
+ handlerParams.params = handler.getParamsForSerializingJSON(idParams);
+ params.atomicHighLevelStates.put(stateID, handlerParams);
+ }
+ return params;
+ }
+
public static class StandardHighLevelStateHandlerParams
{
public Map<String, SubcomponentHighLevelStateHandlerParams> subcomponentHighLevelStates;