]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.simulator.toolkit.db/src/org/simantics/simulator/toolkit/db/StandardVariableManagerVariableBuilder.java
Merge "Refactoring of simulator toolkit"
[simantics/platform.git] / bundles / org.simantics.simulator.toolkit.db / src / org / simantics / simulator / toolkit / db / StandardVariableManagerVariableBuilder.java
1 package org.simantics.simulator.toolkit.db;
2
3 import org.simantics.db.ReadGraph;
4 import org.simantics.db.exception.DatabaseException;
5 import org.simantics.db.layer0.variable.NodeManagerVariableBuilder;
6 import org.simantics.db.layer0.variable.NodeSupport;
7 import org.simantics.simulator.toolkit.StandardNodeManager;
8
9 public abstract class StandardVariableManagerVariableBuilder extends NodeManagerVariableBuilder {
10
11     @Override
12     protected Object getRoot(ReadGraph graph, NodeSupport<?> support, String sessionName) {
13         StandardNodeManager manager = (StandardNodeManager)support.manager;
14         return manager.getRoot();
15     }
16     
17     /*
18      * For compatibility reasons. Existing implementations implement getNodeSupport directly and in that case this is not needed.
19      * New implementations should not implement getNodeSupport but rather implement this.
20      */
21     protected StandardVariableSessionManager getSessionManager() {
22         throw new UnsupportedOperationException();
23     }
24     
25     protected NodeSupport<?> getNodeSupport(ReadGraph graph, String sessionName) throws DatabaseException {
26         return getSessionManager().getOrCreateNodeSupport(graph, sessionName);
27     }
28
29 }