]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.server/src/org/simantics/document/server/state/StateSessionManager.java
267217c2003faed937dd51d88ab94f5eb0e59af1
[simantics/platform.git] / bundles / org.simantics.document.server / src / org / simantics / document / server / state / StateSessionManager.java
1 package org.simantics.document.server.state;
2
3 import org.simantics.db.ReadGraph;
4 import org.simantics.db.exception.DatabaseException;
5 import org.simantics.db.layer0.variable.NodeSupport;
6 import org.simantics.simulator.toolkit.StandardNodeManager;
7 import org.simantics.simulator.toolkit.StandardRealm;
8 import org.simantics.simulator.toolkit.db.StandardSessionManager;
9
10 public class StateSessionManager extends StandardSessionManager<StateNode, StateNodeManagerSupport> {
11
12         private static StateSessionManager INSTANCE;
13
14         public static StateSessionManager getInstance() {
15                 if(INSTANCE == null) {
16                         INSTANCE = new StateSessionManager();
17                 }
18                 return INSTANCE;
19         }
20
21         @Override
22         protected StateNodeManagerSupport createEngine(ReadGraph graph, String id) throws DatabaseException {
23                 return new StateNodeManagerSupport();
24         }
25
26         @Override
27         protected StandardRealm<StateNode, StateNodeManagerSupport> createRealm(StateNodeManagerSupport engine, String id) {
28                 return new StateRealm(engine, id);
29         }
30
31         @Override
32         public void registerNodeSupport(StandardNodeManager<StateNode, StateNodeManagerSupport> manager,
33                         NodeSupport<StateNode> support) {
34                 ((StateNodeManager)manager).registerSupport(support);
35         }
36
37 }