package com.frameworkset.common.poolman.sql; import java.io.Serializable; import com.frameworkset.orm.adapter.DB; /** * * * <p>Title: ForeignKeyMetaData.java</p> * * <p>Description: </p> * * <p> * bboss workgroup * </p> * <p> * Copyright (c) 2007 * </p> * * @Date 2009-6-1 下午08:58:51 * @author biaoping.yin * @version 1.0 */ public class ForeignKeyMetaData extends ColumnMetaData implements Serializable { private String PKTABLE_NAME; private String PKCOLUMN_NAME; private String FKTABLE_NAME; private String FKCOLUMN_NAME; private String KEY_SEQ; private int UPDATE_RULE; private int DELETE_RULE; private String FK_NAME; private String PK_NAME; private String DEFERRABILITY; public ForeignKeyMetaData(DB db) { super(db); } public String getDEFERRABILITY() { return DEFERRABILITY; } public void setDEFERRABILITY(String deferrability) { DEFERRABILITY = deferrability; } public int getDELETE_RULE() { return DELETE_RULE; } public void setDELETE_RULE(int delete_rule) { DELETE_RULE = delete_rule; } public String getFK_NAME() { return FK_NAME; } public void setFK_NAME(String fk_name) { FK_NAME = fk_name; } public String getFKCOLUMN_NAME() { return FKCOLUMN_NAME; } public void setFKCOLUMN_NAME(String fkcolumn_name) { FKCOLUMN_NAME = fkcolumn_name; } public String getFKTABLE_NAME() { return FKTABLE_NAME; } public void setFKTABLE_NAME(String fktable_name) { FKTABLE_NAME = fktable_name; } public String getKEY_SEQ() { return KEY_SEQ; } public void setKEY_SEQ(String key_seq) { KEY_SEQ = key_seq; } public String getPK_NAME() { return PK_NAME; } public void setPK_NAME(String pk_name) { PK_NAME = pk_name; } public String getPKCOLUMN_NAME() { return PKCOLUMN_NAME; } public void setPKCOLUMN_NAME(String pkcolumn_name) { PKCOLUMN_NAME = pkcolumn_name; } public String getPKTABLE_NAME() { return PKTABLE_NAME; } public void setPKTABLE_NAME(String pktable_name) { PKTABLE_NAME = pktable_name; } public int getUPDATE_RULE() { return UPDATE_RULE; } public void setUPDATE_RULE(int update_rule) { UPDATE_RULE = update_rule; } public String toString() { StringBuffer ret = new StringBuffer(); ret.append(" PKTABLE_NAME=") .append(PKTABLE_NAME) .append(",") .append("PKCOLUMN_NAME=") .append(PKCOLUMN_NAME) .append(",") .append("FKTABLE_NAME=") .append(FKTABLE_NAME) .append(",") .append("FKCOLUMN_NAME=") .append(FKCOLUMN_NAME) .append(",") .append("KEY_SEQ=") .append(KEY_SEQ) .append(",") .append("UPDATE_RULE=") .append(UPDATE_RULE) .append(",") .append("DELETE_RULE=") .append(DELETE_RULE) .append(",") .append("PK_NAME=") .append(PK_NAME) .append(",") .append("DEFERRABILITY=") .append(DEFERRABILITY) .append(",") .append("FK_NAME=") .append(FK_NAME); return ret.toString(); } /** * PKTABLE_NAME</B> String => primary key table name * being imported * <LI><B>PKCOLUMN_NAME</B> String => primary key column name * being imported * <LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be <code>null</code>) * <LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be <code>null</code>) * <LI><B>FKTABLE_NAME</B> String => foreign key table name * <LI><B>FKCOLUMN_NAME</B> String => foreign key column name * <LI><B>KEY_SEQ</B> short => sequence number within a foreign key * <LI><B>UPDATE_RULE</B> short => What happens to a * foreign key when the primary key is updated: * <UL> * <LI> importedNoAction - do not allow update of primary * key if it has been imported * <LI> importedKeyCascade - change imported key to agree * with primary key update * <LI> importedKeySetNull - change imported key to <code>NULL</code> * if its primary key has been updated * <LI> importedKeySetDefault - change imported key to default values * if its primary key has been updated * <LI> importedKeyRestrict - same as importedKeyNoAction * (for ODBC 2.x compatibility) * </UL> * <LI><B>DELETE_RULE</B> short => What happens to * the foreign key when primary is deleted. * <UL> * <LI> importedKeyNoAction - do not allow delete of primary * key if it has been imported * <LI> importedKeyCascade - delete rows that import a deleted key * <LI> importedKeySetNull - change imported key to NULL if * its primary key has been deleted * <LI> importedKeyRestrict - same as importedKeyNoAction * (for ODBC 2.x compatibility) * <LI> importedKeySetDefault - change imported key to default if * its primary key has been deleted * </UL> * <LI><B>FK_NAME</B> String => foreign key name (may be <code>null</code>) * <LI><B>PK_NAME</B> String => primary key name (may be <code>null</code>) * <LI><B>DEFERRABILITY</B> short => can the evaluation of foreign key * constraints be deferred until commit * <UL> * <LI> importedKeyInitiallyDeferred - see SQL92 for definition * <LI> importedKeyInitiallyImmediate - see SQL92 for definition * <LI> importedKeyNotDeferrable - see SQL92 for definition * </UL> * </OL> */ ColumnMetaData column; public void setColumn(ColumnMetaData columnMetaData) { // TODO Auto-generated method stub this.column = columnMetaData; } public ColumnMetaData getColumn() { return column; } public int compareTo(Object obj) { if(obj instanceof ForeignKeyMetaData) { ForeignKeyMetaData temp = (ForeignKeyMetaData)obj; if(temp != null) { int ret = this.getFK_NAME().toLowerCase().compareTo(temp.getFK_NAME().toLowerCase()); return ret; } else { return 0; } } else return 0; } }