view geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEResultSetMetaData.java @ 887:b757def3ff55

Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>' geo-backend/trunk@859 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 29 Mar 2010 09:45:05 +0000
parents 8b442223741c
children ebeb56428409
line wrap: on
line source
package de.intevation.gnv.geobackend.sde.datasources;

import java.sql.ResultSetMetaData;
import java.sql.SQLException;

import java.util.List;

/**
 * This Class is an Wrapperclass for the ResultSetMetaData and the
 * ColumnDefinitions which are retrieved from the ArcSDE-Backend.
 * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
 *
 */
public class ArcSDEResultSetMetaData implements ResultSetMetaData {

    /**
     * The Columndefinitions which are required to explain the retrieved Data.
     */
    private List<ColDefinition> columnDefinitions = null;

    /**
     * Constructor
     */
    public ArcSDEResultSetMetaData(List<ColDefinition> columnDefinitions) {
        this.columnDefinitions = columnDefinitions;
    }

    /**
     * @see java.sql.ResultSetMetaData#getCatalogName(int)
     */
    public String getCatalogName(int column) throws SQLException {
        return null;
    }

    /**
     * @see java.sql.ResultSetMetaData#getColumnClassName(int)
     */
    public String getColumnClassName(int column) throws SQLException {
        int type = this.getColumnType(column);
        if (type == ColDefinition.INT16){
            return "Integer";
        }else if (type == ColDefinition.INT32){
            return "Integer";
        }else if (type == ColDefinition.INT64){
            return "Long";
        }else if (type == ColDefinition.NSTRING || type == ColDefinition.STRING){
            return "String";
        }else if (type == ColDefinition.DATE){
            return "Date";
        }else if (type == ColDefinition.FLOAT){
            return "Float";
        }else if (type == ColDefinition.FLOAT32){
            return "Double";
        }else if (type == ColDefinition.FLOAT64){
            return "Double";
        }else{
            return java.lang.Object.class.getName();
        }
    }

    /**
     * @see java.sql.ResultSetMetaData#getColumnCount()
     */
    public int getColumnCount() throws SQLException {
        return columnDefinitions.size();
    }

    /**
     * @see java.sql.ResultSetMetaData#getColumnDisplaySize(int)
     */
    public int getColumnDisplaySize(int column) throws SQLException {
        return 0;
    }

    /**
     * @see java.sql.ResultSetMetaData#getColumnLabel(int)
     */
    public String getColumnLabel(int column) throws SQLException {
        return columnDefinitions.get(column-1).getName();
    }

    /**
     * @see java.sql.ResultSetMetaData#getColumnName(int)
     */
    public String getColumnName(int column) throws SQLException {
        return columnDefinitions.get(column-1).getName();
    }

    /**
     * @see java.sql.ResultSetMetaData#getColumnType(int)
     */
    public int getColumnType(int column) throws SQLException {
        return  columnDefinitions.get(column-1).getType();
    }

    /**
     * @see java.sql.ResultSetMetaData#getColumnTypeName(int)
     */
    public String getColumnTypeName(int column) throws SQLException {
        return null;
    }

    /**
     * @see java.sql.ResultSetMetaData#getPrecision(int)
     */
    public int getPrecision(int column) throws SQLException {
        return 0;
    }

    /**
     * @see java.sql.ResultSetMetaData#getScale(int)
     */
    public int getScale(int column) throws SQLException {
        return 0;
    }

    /**
     * @see java.sql.ResultSetMetaData#getSchemaName(int)
     */
    public String getSchemaName(int column) throws SQLException {
        return null;
    }

    /**
     * @see java.sql.ResultSetMetaData#getTableName(int)
     */
    public String getTableName(int column) throws SQLException {
        return null;
    }

    /**
     * @see java.sql.ResultSetMetaData#isAutoIncrement(int)
     */
    public boolean isAutoIncrement(int column) throws SQLException {
        return false;
    }

    /**
     * @see java.sql.ResultSetMetaData#isCaseSensitive(int)
     */
    public boolean isCaseSensitive(int column) throws SQLException {
        return false;
    }

    /**
     * @see java.sql.ResultSetMetaData#isCurrency(int)
     */
    public boolean isCurrency(int column) throws SQLException {
        return false;
    }

    /**
     * @see java.sql.ResultSetMetaData#isDefinitelyWritable(int)
     */
    public boolean isDefinitelyWritable(int column) throws SQLException {
        return false;
    }

    /**
     * @see java.sql.ResultSetMetaData#isNullable(int)
     */
    public int isNullable(int column) throws SQLException {
        return 0;
    }

    /**
     * @see java.sql.ResultSetMetaData#isReadOnly(int)
     */
    public boolean isReadOnly(int column) throws SQLException {
        return true;
    }

    /**
     * @see java.sql.ResultSetMetaData#isSearchable(int)
     */
    public boolean isSearchable(int column) throws SQLException {
        return true;
    }

    /**
     * @see java.sql.ResultSetMetaData#isSigned(int)
     */
    public boolean isSigned(int column) throws SQLException {
        return false;
    }

    /**
     * @see java.sql.ResultSetMetaData#isWritable(int)
     */
    public boolean isWritable(int column) throws SQLException {
        return false;
    }

    /**
     * @see java.sql.Wrapper#isWrapperFor(java.lang.Class)
     */
    public boolean isWrapperFor(Class<?> iface) throws SQLException {
        return false;
    }

    /**
     * @see java.sql.Wrapper#unwrap(java.lang.Class)
     */
    public <T> T unwrap(Class<T> iface) throws SQLException {
        return null;
    }

}

http://dive4elements.wald.intevation.org