/* * Copyright Aduna (http://www.aduna-software.com/) (c) 2008. * * Licensed under the Aduna BSD-style license. */ package org.openrdf.sail.rdbms.evaluation; import org.openrdf.sail.rdbms.RdbmsValueFactory; /** * Creates the SQL query building components. * * @author James Leigh * */ public class QueryBuilderFactory { private RdbmsValueFactory vf; private boolean usingHashTable; public void setValueFactory(RdbmsValueFactory vf) { this.vf = vf; } public void setUsingHashTable(boolean b) { this.usingHashTable = b; } public QueryBuilder createQueryBuilder() { QueryBuilder query = new QueryBuilder(createSqlQueryBuilder()); query.setValueFactory(vf); query.setUsingHashTable(usingHashTable); return query; } public SqlQueryBuilder createSqlQueryBuilder() { return new SqlQueryBuilder(this); } public SqlExprBuilder createSqlExprBuilder() { return new SqlExprBuilder(this); } public SqlRegexBuilder createSqlRegexBuilder(SqlExprBuilder where) { return new SqlRegexBuilder(where, this); } public SqlBracketBuilder createSqlBracketBuilder(SqlExprBuilder where, String open) { return new SqlBracketBuilder(where, this, open); } public SqlBracketBuilder createSqlBracketBuilder(SqlExprBuilder where) { return new SqlBracketBuilder(where, this); } public SqlJoinBuilder createSqlJoinBuilder(String table, String alias) { return new SqlJoinBuilder(table, alias, this); } }