X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.db.layer0%2Fsrc%2Forg%2Fsimantics%2Fdb%2Flayer0%2Fvariable%2FStandardVariableBuilder.java;h=992e3e6990fba165c0fd6c6ca901a479b4521730;hp=b1af87f98490016490d0891087da8e5679946d47;hb=701fffa16a9aec0e0565da12bd5da5d372f6e612;hpb=0df63f38249cbbc584d3a130773680c309fb1f71 diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/StandardVariableBuilder.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/StandardVariableBuilder.java index b1af87f98..992e3e699 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/StandardVariableBuilder.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/StandardVariableBuilder.java @@ -6,14 +6,25 @@ import org.simantics.db.exception.DatabaseException; public class StandardVariableBuilder implements VariableBuilder { - @Override - public Variable buildChild(ReadGraph graph, Variable parent, VariableNode node, Resource child) { - return new StandardGraphChildVariable(parent, node, child); - } - - @Override - public Variable buildProperty(ReadGraph graph, Variable parent, VariableNode node, Resource subject, Resource predicate) throws DatabaseException { - return new StandardGraphPropertyVariable(graph, parent, node, subject, predicate); - } + private static StandardVariableBuilder INSTANCE = null; + + private StandardVariableBuilder() {} + + public static synchronized StandardVariableBuilder get() { + if(INSTANCE == null) { + INSTANCE = new StandardVariableBuilder<>(); + } + return INSTANCE; + } + + @Override + public Variable buildChild(ReadGraph graph, Variable parent, VariableNode node, Resource child) { + return new StandardGraphChildVariable(parent, node, child); + } + + @Override + public Variable buildProperty(ReadGraph graph, Variable parent, VariableNode node, Resource subject, Resource predicate) throws DatabaseException { + return new StandardGraphPropertyVariable(graph, parent, node, subject, predicate); + } }