/* * RapidMiner * * Copyright (C) 2001-2011 by Rapid-I and the contributors * * Complete list of developers available at our web site: * * http://rapid-i.com * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see http://www.gnu.org/licenses/. */ package com.rapidminer.tools.jdbc; /** * This class is used to identify a column * * * @author Ingo Mierswa */ public class ColumnIdentifier { private final TableName tableName; private final String columnName; private final int sqlType; private final String sqlTypeName; private DatabaseHandler databaseHandler; public ColumnIdentifier(DatabaseHandler databaseHandler, TableName tableName, String columnName, int sqlType, String sqlTypeName) { this.tableName = tableName; this.columnName = columnName; this.databaseHandler = databaseHandler; this.sqlType = sqlType; this.sqlTypeName = sqlTypeName; } public TableName getTableName() { return this.tableName; } public String getColumnName() { return this.columnName; } public String getFullName(boolean singleTable) { if (singleTable) { return databaseHandler.getStatementCreator().makeIdentifier(this.columnName); // properties.getIdentifierQuoteOpen() + // this.columnName + // properties.getIdentifierQuoteClose(); } else { return databaseHandler.getStatementCreator().makeIdentifier(this.tableName + "." + this.columnName); // return // properties.getIdentifierQuoteOpen() + // this.tableName + // properties.getIdentifierQuoteClose() + // "." + // properties.getIdentifierQuoteOpen() + // this.columnName + // properties.getIdentifierQuoteClose(); } } public String getAliasName(boolean singleTable) { if (singleTable) { return databaseHandler.getStatementCreator().makeIdentifier(this.columnName); // properties.getIdentifierQuoteOpen() + // this.columnName + // properties.getIdentifierQuoteClose(); } else { return databaseHandler.getStatementCreator().makeIdentifier(this.tableName+"__"+this.columnName); // properties.getIdentifierQuoteOpen() + // this.tableName + // "__" + // this.columnName + // properties.getIdentifierQuoteClose(); } } @Override public String toString() { return this.tableName + "." + this.columnName; } public int getSqlType() { return sqlType; } public String getSqlTypeName() { return sqlTypeName; } }