package jef.database.meta;
/**
* 描述一个数据库列上的一种变化
*
* @author Administrator
*
*/
public class ColumnChange {
private Change type;
private String from;
private String to;
/**
* 列的变化种类
* <p>
* <ul>
* <li>{@link #ADD_COLUMN} <br>列添加</li>
* <li>{@link #DROP_COLUMN} <br>列删除</li>
* <li>{@link #CHG_DATATYPE}<br>数据类型定义变化</li>
* <li>{@link #CHG_TO_NULL} <br>变更为允许NULL</li>
* <li>{@link #CHG_TO_NOT_NULL} <br>变更为NOT NULL</li>
* <li>{@link #CHG_DEFAULT} <br>变更缺省值的表达式</li>
* <li>{@link #CHG_DROP_DEFAULT} <br>取消缺省值设置</li>
* </ul>
* @author jiyi
*/
public enum Change {
/**
* 列变更种类:列添加
*/
ADD_COLUMN,
/**
* 列变更种类: 列删除
*/
DROP_COLUMN,
/**
* 列变更种类:数据类型变化
*/
CHG_DATATYPE,
/**
* 列变更种类: 变更为可NULL
*/
CHG_TO_NULL,
/**
* 列变更种类:变更为NOT NULL
*/
CHG_TO_NOT_NULL,
/**
* 列变更种类:添加或修改缺省值的表达式
*/
CHG_DEFAULT,
/**
* 列变更种类: 取消DEFAULT设置
*/
CHG_DROP_DEFAULT
}
/**
* 构造
* @param type
*/
public ColumnChange(Change type) {
this.type = type;
}
/**
* 变更种类
* @return change枚举,描述变更种类
* @see Change
*/
public Change getType() {
return type;
}
/**
* 获得变更前的描述
* @return 变更前描述
*/
public String getFrom() {
return from;
}
/**
* 设置变更前描述
* @param from
*/
public void setFrom(String from) {
this.from = from;
}
/**
* 获得变更后描述
* @return to
*/
public String getTo() {
return to;
}
/**
* 设置变更后描述
* @param to
*/
public void setTo(String to) {
this.to = to;
}
@Override
public String toString() {
return type+"("+from+"->"+to+")";
}
}