/*
* Copyright Aduna (http://www.aduna-software.com/) (c) 2008.
*
* Licensed under the Aduna BSD-style license.
*/
package org.openrdf.sail.rdbms.algebra.factories;
import org.openrdf.query.algebra.ValueExpr;
import org.openrdf.sail.rdbms.algebra.base.SqlExpr;
import org.openrdf.sail.rdbms.exceptions.UnsupportedRdbmsOperatorException;
/**
* Boolean SQL expression factory. This factory can convert a number of core
* algebra nodes into an SQL expression.
*
* @author James Leigh
*
*/
public class SqlExprFactory {
private BNodeExprFactory bnode;
private BooleanExprFactory bool;
private DatatypeExprFactory datatype;
private LabelExprFactory label;
private LanguageExprFactory language;
private NumericExprFactory numeric;
private TimeExprFactory time;
private URIExprFactory uri;
private ZonedExprFactory zoned;
private HashExprFactory hash;
private PointExprFactory point;
public void setBNodeExprFactory(BNodeExprFactory bnode) {
this.bnode = bnode;
}
public void setBooleanExprFactory(BooleanExprFactory bool) {
this.bool = bool;
}
public void setDatatypeExprFactory(DatatypeExprFactory datatype) {
this.datatype = datatype;
}
public void setLabelExprFactory(LabelExprFactory label) {
this.label = label;
}
public void setLanguageExprFactory(LanguageExprFactory language) {
this.language = language;
}
public void setNumericExprFactory(NumericExprFactory numeric) {
this.numeric = numeric;
}
public void setTimeExprFactory(TimeExprFactory time) {
this.time = time;
}
public void setURIExprFactory(URIExprFactory uri) {
this.uri = uri;
}
public void setZonedExprFactory(ZonedExprFactory zoned) {
this.zoned = zoned;
}
public void setHashExprFactory(HashExprFactory hash) {
this.hash = hash;
}
public void setPointExprFactory(PointExprFactory point) {
this.point = point;
}
public SqlExpr createBNodeExpr(ValueExpr arg)
throws UnsupportedRdbmsOperatorException
{
return bnode.createBNodeExpr(arg);
}
public SqlExpr createBooleanExpr(ValueExpr arg)
throws UnsupportedRdbmsOperatorException
{
return bool.createBooleanExpr(arg);
}
public SqlExpr createLabelExpr(ValueExpr arg)
throws UnsupportedRdbmsOperatorException
{
return label.createLabelExpr(arg);
}
public SqlExpr createLanguageExpr(ValueExpr arg)
throws UnsupportedRdbmsOperatorException
{
return language.createLanguageExpr(arg);
}
public SqlExpr createNumericExpr(ValueExpr arg)
throws UnsupportedRdbmsOperatorException
{
return numeric.createNumericExpr(arg);
}
public SqlExpr createTimeExpr(ValueExpr arg)
throws UnsupportedRdbmsOperatorException
{
return time.createTimeExpr(arg);
}
public SqlExpr createZonedExpr(ValueExpr arg)
throws UnsupportedRdbmsOperatorException
{
return zoned.createZonedExpr(arg);
}
public SqlExpr createDatatypeExpr(ValueExpr arg)
throws UnsupportedRdbmsOperatorException
{
return datatype.createDatatypeExpr(arg);
}
public SqlExpr createUriExpr(ValueExpr arg)
throws UnsupportedRdbmsOperatorException
{
return uri.createUriExpr(arg);
}
public SqlExpr createHashExpr(ValueExpr arg)
throws UnsupportedRdbmsOperatorException
{
return hash.createHashExpr(arg);
}
public SqlExpr createPointExpr(ValueExpr arg)
throws UnsupportedRdbmsOperatorException
{
return point.createPointExpr(arg);
}
}