--- /dev/null
+package org.simantics.document.server.state;
+
+import org.simantics.db.ReadGraph;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.variable.NodeSupport;
+import org.simantics.simulator.toolkit.StandardNodeManager;
+import org.simantics.simulator.toolkit.StandardRealm;
+import org.simantics.simulator.toolkit.db.StandardSessionManager;
+
+public class StateSessionManager extends StandardSessionManager<StateNode, StateNodeManagerSupport> {
+
+ private static StateSessionManager INSTANCE;
+
+ public static StateSessionManager getInstance() {
+ if(INSTANCE == null) {
+ INSTANCE = new StateSessionManager();
+ }
+ return INSTANCE;
+ }
+
+ @Override
+ protected StateNodeManagerSupport createEngine(ReadGraph graph, String id) throws DatabaseException {
+ return new StateNodeManagerSupport();
+ }
+
+ @Override
+ protected StandardRealm<StateNode, StateNodeManagerSupport> createRealm(StateNodeManagerSupport engine, String id) {
+ return new StateRealm(engine, id);
+ }
+
+ @Override
+ public void registerNodeSupport(StandardNodeManager<StateNode, StateNodeManagerSupport> manager,
+ NodeSupport<StateNode> support) {
+ ((StateNodeManager)manager).registerSupport(support);
+ }
+
+}