package com.taobao.yugong.common.db.meta;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.ToStringBuilder;
import com.taobao.yugong.common.utils.YuGongToStringStyle;
/**
* 代表一个字段的信息
*
* @author agapple 2013-9-3 下午2:46:32
* @since 3.0.0
*/
public class ColumnMeta {
private String name;
private int type;
public ColumnMeta(String columnName, int columnType){
this.name = StringUtils.upperCase(columnName);// 统一为大写
this.type = columnType;
}
public String getName() {
return name;
}
public int getType() {
return type;
}
public void setName(String name) {
this.name = StringUtils.upperCase(name);
}
public void setType(int type) {
this.type = type;
}
public ColumnMeta clone() {
return new ColumnMeta(this.name, this.type);
}
public String toString() {
return ToStringBuilder.reflectionToString(this, YuGongToStringStyle.DEFAULT_STYLE);
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + type;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null) return false;
if (getClass() != obj.getClass()) return false;
ColumnMeta other = (ColumnMeta) obj;
if (name == null) {
if (other.name != null) return false;
} else if (!name.equals(other.name)) return false;
if (type != other.type) return false;
return true;
}
}