franta-hg@171: /** franta-hg@171: * SQL-DK franta-hg@171: * Copyright © 2014 František Kučera (frantovo.cz) franta-hg@171: * franta-hg@171: * This program is free software: you can redistribute it and/or modify franta-hg@171: * it under the terms of the GNU General Public License as published by franta-hg@250: * the Free Software Foundation, version 3 of the License. franta-hg@171: * franta-hg@171: * This program is distributed in the hope that it will be useful, franta-hg@171: * but WITHOUT ANY WARRANTY; without even the implied warranty of franta-hg@171: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the franta-hg@171: * GNU General Public License for more details. franta-hg@171: * franta-hg@171: * You should have received a copy of the GNU General Public License franta-hg@171: * along with this program. If not, see . franta-hg@171: */ franta-hg@171: package info.globalcode.jdbc.loopback; franta-hg@171: franta-hg@171: import java.sql.SQLException; franta-hg@171: import java.util.ArrayList; franta-hg@171: import java.util.List; franta-hg@171: franta-hg@171: /** franta-hg@171: * franta-hg@171: * @author Ing. František Kučera (frantovo.cz) franta-hg@171: */ franta-hg@171: public class ResultSetMetaData extends AbstractResultSetMetaData { franta-hg@171: franta-hg@171: private List columns = new ArrayList<>(); franta-hg@171: franta-hg@171: public void addColumn(ColumnDescriptor cd) { franta-hg@171: columns.add(cd); franta-hg@171: } franta-hg@171: franta-hg@171: @Override franta-hg@171: public int getColumnCount() throws SQLException { franta-hg@171: return columns.size(); franta-hg@171: } franta-hg@171: franta-hg@171: @Override franta-hg@171: public String getColumnLabel(int column) throws SQLException { franta-hg@171: return columns.get(column - 1).label; franta-hg@171: } franta-hg@171: franta-hg@171: @Override franta-hg@171: public String getColumnName(int column) throws SQLException { franta-hg@171: return columns.get(column - 1).name; franta-hg@171: } franta-hg@171: franta-hg@171: @Override franta-hg@171: public int getColumnType(int column) throws SQLException { franta-hg@171: return columns.get(column - 1).type; franta-hg@171: } franta-hg@171: franta-hg@171: @Override franta-hg@171: public String getColumnTypeName(int column) throws SQLException { franta-hg@171: return columns.get(column - 1).typeName; franta-hg@171: } franta-hg@171: franta-hg@171: public static class ColumnDescriptor { franta-hg@171: franta-hg@171: private final int type; franta-hg@171: private final String typeName; franta-hg@171: private final String label; franta-hg@171: private final String name; franta-hg@171: franta-hg@171: public ColumnDescriptor(int type, String typeName, String label, String name) { franta-hg@171: this.type = type; franta-hg@171: this.typeName = typeName; franta-hg@171: this.label = label; franta-hg@171: this.name = name; franta-hg@171: } franta-hg@171: } franta-hg@171: }