package com.takensoft.pohangTp.data.vo; import java.io.Serializable; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.takensoft.pohangTp.common.connection.db.vo.DataType; import com.takensoft.pohangTp.meta.term.vo.StandardTermSearch; import lombok.Getter; import lombok.Setter; /** * @author 김성원 * @since 2024.01.04 * * 열(Column) 데이터의 정보를 담는 Class 입니다. */ @Getter @Setter public class ColumnData extends Column implements Serializable { public ColumnData () {} public ColumnData (String originColumnName) { super.setOrginlColumnNm(originColumnName); } public ColumnData (String originColumnName, String displayColumnName, DataType dataType) { super.setOrginlColumnNm(originColumnName); super.setDisplyColumnNm(originColumnName); super.setDataTy(dataType); } public ColumnData (String originColumnName, String displayColumnName, DataType dataType, boolean isPrimary) { super.setOrginlColumnNm(originColumnName); super.setDisplyColumnNm(originColumnName); super.setDataTy(dataType); super.setPkAt(isPrimary); } public ColumnData (String originColumnName, String displayColumnName, String columnName, DataType dataType) { super.setOrginlColumnNm(originColumnName); super.setDisplyColumnNm(displayColumnName); super.setColumnNm(columnName); super.setDataTy(dataType); } /** * 시리얼 버전 */ private static final long serialVersionUID = 1L; /** * 테이블 명 */ private String databaseNm; /** * 테이블 명 */ private String tableNm; /** * 데이터 베이스에 생성될 데이터 타입 */ private String dbDataType; /** * 표준 용어 검색 Box Display 여부 (client단에서만 사용) */ private boolean isSearching; /** * 표준 용어 검색된 목록 Display 여부 (client단에서만 사용) */ private boolean isSearchListView; /** * 컬럼 유니크 옵션 */ private boolean isUniq; /** * 해당 컬럼의 표준용어 검색 목록 중 사용하기 위해 선택 중인 표중용어 정보 (client단에서만 사용) */ private StandardTermSearch selectingStandardTerm; /** * 해당 컬럼의 표준용어 검색 목록 (client단에서만 사용) */ private List standardTermSearchList = new ArrayList(); /** * 컬럼 유니크 옵션 */ private boolean isView; public void cellValuesClear() { // this.columnValues.clear(); } public void dataTyDefine(Object data) { if(data == null ) { this.setDataTy(DataType.NULL); }else if(data instanceof Boolean) { this.setDataTy(DataType.BOOL); }else if(data instanceof Character) { this.setDataTy(DataType.CHAR); }else if(data instanceof Short) { this.setDataTy(DataType.SHORT); }else if(data instanceof Integer) { this.setDataTy(DataType.INT); }else if(data instanceof Long) { this.setDataTy(DataType.LONG); }else if(data instanceof Float) { this.setDataTy(DataType.FLOAT); }else if(data instanceof Double) { this.setDataTy(DataType.DOUBLE); }else if(data instanceof Timestamp) { this.setDataTy(DataType.TIMESTAMP); }else if(data instanceof Date) { this.setDataTy(DataType.DATETIME); }else if(data instanceof Character) { this.setDataTy(DataType.ENTER); } } /******************************************************************* 추가 *******************************************************************/ /** * 열의 합계 */ private Object sum; public Object getSum() { return sum; } public void setSum(Object sum) { this.sum = sum; } /******************************************************************* 추가 *******************************************************************/ }