/* * Copyright Aduna (http://www.aduna-software.com/) (c) 2008. * * Licensed under the Aduna BSD-style license. */ package org.openrdf.sail.rdbms.evaluation; import java.sql.Types; /** * Prints round brackets in an SQL query. * * @author James Leigh * */ public class SqlCastBuilder extends SqlExprBuilder { private SqlExprBuilder where; private int jdbcType; public SqlCastBuilder(SqlExprBuilder where, QueryBuilderFactory factory, int jdbcType) { super(factory); this.where = where; this.jdbcType = jdbcType; append(" CAST("); } public SqlExprBuilder close() { append(" AS "); append(getSqlType(jdbcType)); append(")"); where.append(toSql()); where.addParameters(getParameters()); return where; } protected CharSequence getSqlType(int type) { switch (type) { case Types.VARCHAR: return "VARCHAR"; default: throw new AssertionError(type); } } }