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+")"; } }