
package com.lideeyunji.tool.framework.sql.entity;


public class DbColunmTypesEntity {

    private Boolean upperFlag;//是否转大写
    private String symbol;//标识符 例如mysql->`  oracle ->"
    private TypeEntity lideeYunJiString;//字符串
    private TypeEntity lideeYunJiInteger;//整数
    private TypeEntity lideeYunJiDate;//日期
    private TypeEntity lideeYunJiDateTime;//日期时间
    private TypeEntity lideeYunJiTime;//时间
    private TypeEntity lideeYunJiBigInt;//大整数
    private TypeEntity lideeYunJiBigDecimal;//小数
    private TypeEntity lideeYunJiText;//文本
    private TypeEntity lideeYunJiLongText;//大文本
    private TypeEntity lideeYunJiBlob;//二进制



    public static class TypeEntity {
        private String lideeYunJiType;
        private String dbType;//类型
        private Integer dbMaxLen;//整数位数
        private Integer dbMaxPointLen;//小数位

        public TypeEntity(String lideeYunJiType, String dbType, Integer dbMaxLen) {
            this.lideeYunJiType = lideeYunJiType;
            this.dbType = dbType;
            this.dbMaxLen = dbMaxLen;
        }
        public TypeEntity(String lideeYunJiType, String dbType, Integer dbMaxLen,Integer dbMaxPointLen) {
            this.lideeYunJiType = lideeYunJiType;
            this.dbType = dbType;
            this.dbMaxLen = dbMaxLen;
            this.dbMaxPointLen = dbMaxPointLen;
        }

        public String getLideeYunJiType() {
            return lideeYunJiType;
        }

        public String getDbType() {
            return dbType;
        }

        public Integer getDbMaxLen() {
            return dbMaxLen;
        }

        public Integer getDbMaxPointLen() {
            return dbMaxPointLen;
        }
    }

    public TypeEntity getLideeYunJiString() {
        return lideeYunJiString;
    }

    public TypeEntity getLideeYunJiInteger() {
        return lideeYunJiInteger;
    }

    public TypeEntity getLideeYunJiDate() {
        return lideeYunJiDate;
    }

    public TypeEntity getLideeYunJiDateTime() {
        return lideeYunJiDateTime;
    }

    public TypeEntity getLideeYunJiTime() {
        return lideeYunJiTime;
    }

    public TypeEntity getLideeYunJiBigInt() {
        return lideeYunJiBigInt;
    }

    public TypeEntity getLideeYunJiBigDecimal() {
        return lideeYunJiBigDecimal;
    }

    public TypeEntity getLideeYunJiText() {
        return lideeYunJiText;
    }

    public TypeEntity getLideeYunJiLongText() {
        return lideeYunJiLongText;
    }

    public TypeEntity getLideeYunJiBlob() {
        return lideeYunJiBlob;
    }


    public void setLideeYunJiString(String dbType, Integer maxLen) {
        TypeEntity typeEntity = new TypeEntity("String", dbType, maxLen);
        this.lideeYunJiString = typeEntity;
    }

    public void setLideeYunJiInteger(String dbType, Integer maxLen) {
        TypeEntity typeEntity = new TypeEntity("Integer", dbType, maxLen);
        this.lideeYunJiInteger = typeEntity;
    }

    public void setLideeYunJiDate(String dbType, Integer maxLen) {
        TypeEntity typeEntity = new TypeEntity("Date", dbType, maxLen);
        this.lideeYunJiDate = typeEntity;
    }

    public void setLideeYunJiDateTime(String dbType, Integer maxLen) {
        TypeEntity typeEntity = new TypeEntity("DateTime", dbType, maxLen);
        this.lideeYunJiDateTime = typeEntity;
    }

    public void setLideeYunJiTime(String dbType, Integer maxLen) {
        TypeEntity typeEntity = new TypeEntity("Time", dbType, maxLen);
        this.lideeYunJiTime = typeEntity;
    }

    public void setLideeYunJiBigInt(String dbType, Integer maxLen) {
        TypeEntity typeEntity = new TypeEntity("BigInt", dbType, maxLen);
        this.lideeYunJiBigInt = typeEntity;
    }

    public void setLideeYunJiBigDecimal(String dbType, Integer maxLen,Integer maxPointLen) {
        TypeEntity typeEntity = new TypeEntity("BigDecimal", dbType, maxLen,maxPointLen);
        this.lideeYunJiBigDecimal = typeEntity;
    }

    public void setLideeYunJiText(String dbType, Integer maxLen) {
        TypeEntity typeEntity = new TypeEntity("Text", dbType, maxLen);
        this.lideeYunJiText = typeEntity;
    }

    public void setLideeYunJiLongText(String dbType, Integer maxLen) {
        TypeEntity typeEntity = new TypeEntity("LongText", dbType, maxLen);
        this.lideeYunJiLongText = typeEntity;
    }

    public void setLideeYunJiBlob(String dbType, Integer maxLen) {
        TypeEntity typeEntity = new TypeEntity("Blob", dbType, maxLen);
        this.lideeYunJiBlob = typeEntity;
    }


    public Boolean getUpperFlag() {
        return upperFlag;
    }

    public void setUpperFlag(Boolean upperFlag) {
        this.upperFlag = upperFlag;
    }

    public String getSymbol() {
        return symbol;
    }

    public void setSymbol(String symbol) {
        this.symbol = symbol;
    }
}
