/** * 定义了列属性 ColumnBean */ public class Column implements Serializable ,Cloneable ,Comparable<Column>{ private static final long serialVersionUID = -4547695983516289436L; public Column() {} public Column(String columnId, int columnIndex, boolean isShown, boolean isCode, String columnType, String columnName, String columnMask) { this.columnId = columnId; this.columnIndex = columnIndex; this.isShown = isShown; this.isCode = isCode; this.columnType = columnType; this.columnName = columnName; this.columnMask = columnMask; } private boolean isShown;// 是否显示 private boolean isCode;// 是否是code private String columnType;// 列对象数据类型 @see#Operator. private String columnName;// 列对象的中文name (comment) private String columnMask;// 列对象的掩码 如果没有则为null private String columnId;// 列对象的唯一标识 确定了在Table中的唯一性 private Integer columnIndex;// 获取列的出现顺序号 public static String STRING = "<mce:script type="text/javascript" src="http://hi.images.youkuaiyun.com/js/blog/tiny_mce/themes/advanced/langs/zh.js" mce_src="http://hi.images.youkuaiyun.com/js/blog/tiny_mce/themes/advanced/langs/zh.js"></mce:script><mce:script type="text/javascript" src="http://hi.images.youkuaiyun.com/js/blog/tiny_mce/plugins/syntaxhl/langs/zh.js" mce_src="http://hi.images.youkuaiyun.com/js/blog/tiny_mce/plugins/syntaxhl/langs/zh.js"></mce:script>string"; public static String NUMBER = "number"; public static String DATE = "date"; public boolean isShown() { return isShown; } public void setIsShown(boolean isShown) { this.isShown = isShown; } public boolean isCode() { return isCode; } public void setIsCode(boolean isCode) { this.isCode = isCode; } public String getColumnType() { // TODO Auto-generated method stub return this.columnType; } public void setColumnType(String columnType) { this.columnType = columnType; } public void setColumnName(String columnName) { this.columnName = columnName; } public String getColumnName() { // TODO Auto-generated method stub return this.columnName; } public void setColumnMask(String columnMask) { this.columnMask = columnMask; } public String getColumnMask() { // TODO Auto-generated method stub return this.columnMask; } public void setColumnIndex(int columnIndex) { this.columnIndex = columnIndex; } public Integer getColumnIndex() { // TODO Auto-generated method stub return this.columnIndex; } public String getColumnId() { return columnId; } public void setColumnId(String columnId) { this.columnId = columnId; } public static final Comparator<Column> COLUMN_INDEX_ORDER_ASC = new Comparator<Column>(){ public int compare(Column o1, Column o2) { // TODO Auto-generated method stub Integer first = o1.getColumnIndex(); Integer second = o2.getColumnIndex(); if (first != null && first != 0 && second != null && second != 0) {// o1对象指定了位置 // o2也指定了位置 // 根据两者位置排序 return first.compareTo(second); } else if (first != null && first != 0) {// o1指定了位置 o2没有指定位置 // 将 o1 // 排在o2之前 return -1; } else if (second != null && second != 0) {// o1 没有指定位置 o2 指定位置 // 将 // o2 排在 o1 之前 return 1; } else { // 都没有指定 不改变顺序 return 0; } } };// 升序排列 public static final Comparator<Column> COLUMN_INDEX_ORDER_DESC = new Comparator<Column>(){ public int compare(Column o1, Column o2) { // TODO Auto-generated method stub Integer first = o2.getColumnIndex(); Integer second = o1.getColumnIndex(); if (first != null && first != 0 && second != null && second != 0) {// o1对象指定了位置 // o2也指定了位置 // 根据两者位置排序 return first.compareTo(second); } else if (first != null && first != 0) {// o1指定了位置 o2没有指定位置 // 将 o1 // 排在o2之前 return -1; } else if (second != null && second != 0) {// o1 没有指定位置 o2 指定位置 // 将 // o2 排在 o1 之前 return 1; } else { // 都没有指定 不改变顺序 return 0; } } };// 降序排列 public int compareTo(Column o) { // TODO Auto-generated method stub Integer first = this.getColumnIndex(); Integer second = o.getColumnIndex(); if (first != null && first != 0 && second != null && second != 0) {// o1对象指定了位置 // o2也指定了位置 // 根据两者位置排序 return first.compareTo(second); } else if (first != null && first != 0) {// o1指定了位置 o2没有指定位置 // 将 o1 // 排在o2之前 return -1; } else if (second != null && second != 0) {// o1 没有指定位置 o2 指定位置 // 将 // o2 排在 o1 之前 return 1; } else { // 都没有指定 不改变顺序 return 0; } } @Override protected Object clone() throws CloneNotSupportedException { // TODO Auto-generated method stub return super.clone(); } @Override public String toString() { StringBuffer toString = new StringBuffer(); toString.append("columnIndex: ").append(this.columnIndex).append("columnId:") .append(this.columnId) .append("isShown:") .append(this.isShown) .append("isCode:") .append(this.isCode) .append("columnType:") .append(this.columnType) .append("columnMask:") .append(this.columnMask) .append("/n"); return toString.toString(); }