]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scenegraph.loader/src/org/simantics/scenegraph/loader/SceneGraphVariableBuilder.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.scenegraph.loader / src / org / simantics / scenegraph / loader / SceneGraphVariableBuilder.java
1 package org.simantics.scenegraph.loader;
2
3 import org.simantics.db.ReadGraph;
4 import org.simantics.db.Resource;
5 import org.simantics.db.exception.DatabaseException;
6 import org.simantics.db.layer0.variable.StandardGraphChildVariable;
7 import org.simantics.db.layer0.variable.StandardGraphPropertyVariable;
8 import org.simantics.db.layer0.variable.Variable;
9 import org.simantics.db.layer0.variable.VariableBuilder;
10 import org.simantics.db.layer0.variable.VariableNode;
11
12 public class SceneGraphVariableBuilder implements VariableBuilder<Object> {
13
14         @Override
15         public Variable buildChild(ReadGraph graph, Variable parent,
16                         VariableNode<Object> node, Resource child) throws DatabaseException {
17                 SceneGraphContext vc = ScenegraphLoaderUtils.getContext(graph, parent);
18                 if(vc != null)
19                         return new ScenegraphVariable(parent, child, null, null);
20                 else
21                         return new StandardGraphChildVariable(parent, null, child);
22         }
23
24         @Override
25         public Variable buildProperty(ReadGraph graph, Variable parent,
26                         VariableNode<Object> node, Resource subject, Resource predicate)
27                         throws DatabaseException {
28                 return new StandardGraphPropertyVariable(graph, parent, null, subject, predicate);
29         }
30
31 }