X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.layer0%2Fsrc%2Forg%2Fsimantics%2Fdb%2Flayer0%2Fvariable%2FStandardVariableBuilder.java;h=992e3e6990fba165c0fd6c6ca901a479b4521730;hb=035118aa5f35c9e5acd1f34d22065055dfdee486;hp=b94c6ce7424639931bf37e192d05b8b613c8dc09;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git 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 b94c6ce74..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 @@ -1,19 +1,30 @@ -package org.simantics.db.layer0.variable; - -import org.simantics.db.ReadGraph; -import org.simantics.db.Resource; -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); - } - -} +package org.simantics.db.layer0.variable; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.exception.DatabaseException; + +public class StandardVariableBuilder implements VariableBuilder { + + 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); + } + +}