/*
* $Id: DerbySchemaAdapter.java,v 1.2 2006/05/26 16:51:49 thomas Exp $
* Created on 12.4.2005 in project com.idega.core
*
* Copyright (C) 2005 Idega Software hf. All Rights Reserved.
*
* This software is the proprietary information of Idega hf.
* Use is subject to license terms.
*/
package com.idega.util.dbschema;
import com.idega.data.EntityAttribute;
/**
* <p>
* This class is for supporting the Apache Derby database in idegaWeb.
* </p>
* Last modified: $Date: 2006/05/26 16:51:49 $ by $Author: thomas $
*
* @author <a href="mailto:tryggvil@idega.com">tryggvil</a>
* @version $Revision: 1.2 $
*/
public class DerbySchemaAdapter extends SQLSchemaAdapter {
/**
*
*/
public DerbySchemaAdapter() {
super();
// TODO Auto-generated constructor stub
}
/* (non-Javadoc)
* @see com.idega.data.DatastoreInterface#getSQLType(java.lang.String, int)
*/
public String getSQLType(String javaClassName, int maxlength) {
if (javaClassName.equals("java.lang.Integer")) {
return "INTEGER";
}
if (javaClassName.equals("java.lang.String")) {
if (maxlength == EntityAttribute.UNLIMITED_LENGTH) {
return "CLOB";
}
if (maxlength < 0) {
return "VARCHAR(255)";
}
if (maxlength <= 32000) {
return "VARCHAR(" + maxlength + ")";
}
return "CLOB";
}
if (javaClassName.equals("java.lang.Boolean")) {
return "CHAR(1)";
}
if (javaClassName.equals("java.lang.Float")) {
return "FLOAT";
}
if (javaClassName.equals("java.lang.Double")) {
return "DOUBLE";
}
if (javaClassName.equals("java.sql.Timestamp")) {
return "TIMESTAMP";
}
if (javaClassName.equals("java.sql.Date") || javaClassName.equals("java.util.Date")) {
return "DATE";
}
if (javaClassName.equals("java.sql.Blob")) {
return "BLOB";
}
if (javaClassName.equals("java.sql.Time")) {
return "TIME";
}
if (javaClassName.equals("com.idega.util.Gender")) {
return "VARCHAR(1)";
}
if (javaClassName.equals("com.idega.data.BlobWrapper")) {
return "BLOB";
}
return "";
}
/* (non-Javadoc)
* @see com.idega.data.DatastoreInterface#createTrigger(com.idega.data.GenericEntity)
*/
public void createTrigger(Schema entity) throws Exception {
// TODO Auto-generated method stub
}
/**
* @return boolean
*/
protected boolean updateNumberGeneratedValueAfterInsert()
{
return true;
}
public String getIDColumnType(Schema entity)
{
//if (entity.getIfAutoIncrement()) {
// return "INTEGER GENERATED BY DEFAULT AS IDENTITY";
//} else {
return "INTEGER";
//}
}
}