/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2002-2008, Open Source Geospatial Foundation (OSGeo)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License.
*
* This library 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
* Lesser General Public License for more details.
*/
package org.geotools.jdbc;
/**
* Represents a column of a primary key which is not auto incrementing.
* <p>
* If the type of the column is integral, new values are generated by selecting
* the max value of the key and adding 1 to it. If the column is character based
* a random string is generated.
* </p>
* @author Justin Deoliveira, OpenGEO
*
*
*
* @source $URL$
*/
public class NonIncrementingPrimaryKeyColumn extends PrimaryKeyColumn {
public NonIncrementingPrimaryKeyColumn(String name, Class type) {
super(name, type);
}
//
// @Override
// public Object generate(Connection cx, SQLDialect dialect)
// throws SQLException, IOException {
//
// Class t = getType();
//
// //is the column numeric?
// if ( Number.class.isAssignableFrom( t ) ) {
// //is the column integral?
// if ( t == Short.class || t == Integer.class || t == Long.class
// || BigInteger.class.isAssignableFrom( t ) ) {
//
// StringBuffer sql = new StringBuffer();
// sql.append( "SELECT MAX(");
// dialect.encodeColumnName( getName() , sql );
// sql.append( ") + 1 FROM ");
// dialect.encodeTableName( getPrimaryKey().getTableName(), sql);
//
// Statement st = cx.createStatement();
// try {
//
// }
// finally {
//
// }
// }
// }
// else if ( CharSequence.class.isAssignableFrom( t ) ) {
//
// }
//
// throw new IOException( "Cannot generate key value for column of type: " + t.getName() );
//
// }
}