package com.phlx.anchorcollect.entity;


import android.os.Parcel;
import android.os.Parcelable;

import androidx.databinding.BaseObservable;

import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Generated;
import org.greenrobot.greendao.annotation.Id;

/**
 * 业务表 gen_table
 * 
 * @author ruoyi
 */
@Entity
public class GenTable extends BaseObservable implements Parcelable {
    private static final long serialVersionUID = 1L;

    /** 编号 */
    @Id(autoincrement = false)
    private String tableId;

    /** 表名称 */
    private String tableName;

    /** 表描述 */
    private String tableComment;

    /** 关联父表的表名 */
    private String subTableName;

    /** 本表关联父表的外键名 */
    private String subTableFkName;

    /** 实体类名称(首字母大写) */
    private String className;

    /** 使用的模板（crud单表操作 tree树表操作 sub主子表操作） */
    private String tplCategory;

    /** 生成包路径 */
    private String packageName;

    /** 生成模块名 */
    private String moduleName;

    /** 生成业务名 */
    private String businessName;

    /** 生成功能名 */
    private String functionName;

    /** 生成作者 */
    private String functionAuthor;

    /** 生成代码方式（0zip压缩包 1自定义路径） */
    private String genType;

    /** 生成路径（不填默认项目路径） */
    private String genPath;

    /** 其它生成选项 */
    private String options;

    /** 树编码字段 */
    private String treeCode;

    /** 树父编码字段 */
    private String treeParentCode;

    /** 树名称字段 */
    private String treeName;

    /** 上级菜单ID字段 */
    private String parentMenuId;

    /** 上级菜单名称字段 */
    private String parentMenuName;

    /** 角色标识 */
    private String roleId;

    public GenTable() {
    }

    protected GenTable(Parcel in) {
        tableId = in.readString();
        tableName = in.readString();
        tableComment = in.readString();
        subTableName = in.readString();
        subTableFkName = in.readString();
        className = in.readString();
        tplCategory = in.readString();
        packageName = in.readString();
        moduleName = in.readString();
        businessName = in.readString();
        functionName = in.readString();
        functionAuthor = in.readString();
        genType = in.readString();
        genPath = in.readString();
        options = in.readString();
        treeCode = in.readString();
        treeParentCode = in.readString();
        treeName = in.readString();
        parentMenuId = in.readString();
        parentMenuName = in.readString();
        roleId = in.readString();
    }

    @Generated(hash = 677676477)
    public GenTable(String tableId, String tableName, String tableComment,
            String subTableName, String subTableFkName, String className,
            String tplCategory, String packageName, String moduleName,
            String businessName, String functionName, String functionAuthor,
            String genType, String genPath, String options, String treeCode,
            String treeParentCode, String treeName, String parentMenuId,
            String parentMenuName, String roleId) {
        this.tableId = tableId;
        this.tableName = tableName;
        this.tableComment = tableComment;
        this.subTableName = subTableName;
        this.subTableFkName = subTableFkName;
        this.className = className;
        this.tplCategory = tplCategory;
        this.packageName = packageName;
        this.moduleName = moduleName;
        this.businessName = businessName;
        this.functionName = functionName;
        this.functionAuthor = functionAuthor;
        this.genType = genType;
        this.genPath = genPath;
        this.options = options;
        this.treeCode = treeCode;
        this.treeParentCode = treeParentCode;
        this.treeName = treeName;
        this.parentMenuId = parentMenuId;
        this.parentMenuName = parentMenuName;
        this.roleId = roleId;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(tableId);
        dest.writeString(tableName);
        dest.writeString(tableComment);
        dest.writeString(subTableName);
        dest.writeString(subTableFkName);
        dest.writeString(className);
        dest.writeString(tplCategory);
        dest.writeString(packageName);
        dest.writeString(moduleName);
        dest.writeString(businessName);
        dest.writeString(functionName);
        dest.writeString(functionAuthor);
        dest.writeString(genType);
        dest.writeString(genPath);
        dest.writeString(options);
        dest.writeString(treeCode);
        dest.writeString(treeParentCode);
        dest.writeString(treeName);
        dest.writeString(parentMenuId);
        dest.writeString(parentMenuName);
        dest.writeString(roleId);
    }

    @Override
    public int describeContents() {
        return 0;
    }

    public static final Creator<GenTable> CREATOR = new Creator<GenTable>() {
        @Override
        public GenTable createFromParcel(Parcel in) {
            return new GenTable(in);
        }

        @Override
        public GenTable[] newArray(int size) {
            return new GenTable[size];
        }
    };

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getTableId() {
        return tableId;
    }

    public void setTableId(String tableId) {
        this.tableId = tableId;
    }

    public String getTableName() {
        return tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public String getTableComment() {
        return tableComment;
    }

    public void setTableComment(String tableComment) {
        this.tableComment = tableComment;
    }

    public String getSubTableName() {
        return subTableName;
    }

    public void setSubTableName(String subTableName) {
        this.subTableName = subTableName;
    }

    public String getSubTableFkName() {
        return subTableFkName;
    }

    public void setSubTableFkName(String subTableFkName) {
        this.subTableFkName = subTableFkName;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getTplCategory() {
        return tplCategory;
    }

    public void setTplCategory(String tplCategory) {
        this.tplCategory = tplCategory;
    }

    public String getPackageName() {
        return packageName;
    }

    public void setPackageName(String packageName) {
        this.packageName = packageName;
    }

    public String getModuleName() {
        return moduleName;
    }

    public void setModuleName(String moduleName) {
        this.moduleName = moduleName;
    }

    public String getBusinessName() {
        return businessName;
    }

    public void setBusinessName(String businessName) {
        this.businessName = businessName;
    }

    public String getFunctionName() {
        return functionName;
    }

    public void setFunctionName(String functionName) {
        this.functionName = functionName;
    }

    public String getFunctionAuthor() {
        return functionAuthor;
    }

    public void setFunctionAuthor(String functionAuthor) {
        this.functionAuthor = functionAuthor;
    }

    public String getGenType() {
        return genType;
    }

    public void setGenType(String genType) {
        this.genType = genType;
    }

    public String getGenPath() {
        return genPath;
    }

    public void setGenPath(String genPath) {
        this.genPath = genPath;
    }

    public String getOptions() {
        return options;
    }

    public void setOptions(String options) {
        this.options = options;
    }

    public String getTreeCode() {
        return treeCode;
    }

    public void setTreeCode(String treeCode) {
        this.treeCode = treeCode;
    }

    public String getTreeParentCode() {
        return treeParentCode;
    }

    public void setTreeParentCode(String treeParentCode) {
        this.treeParentCode = treeParentCode;
    }

    public String getTreeName() {
        return treeName;
    }

    public void setTreeName(String treeName) {
        this.treeName = treeName;
    }

    public String getParentMenuId() {
        return parentMenuId;
    }

    public void setParentMenuId(String parentMenuId) {
        this.parentMenuId = parentMenuId;
    }

    public String getParentMenuName() {
        return parentMenuName;
    }

    public void setParentMenuName(String parentMenuName) {
        this.parentMenuName = parentMenuName;
    }

    public String getRoleId() {
        return roleId;
    }

    public void setRoleId(String roleId) {
        this.roleId = roleId;
    }

    @Override
    public String toString() {
        return "GenTable{" +
                "tableId='" + tableId + '\'' +
                ", tableName='" + tableName + '\'' +
                ", tableComment='" + tableComment + '\'' +
                ", subTableName='" + subTableName + '\'' +
                ", subTableFkName='" + subTableFkName + '\'' +
                ", className='" + className + '\'' +
                ", tplCategory='" + tplCategory + '\'' +
                ", packageName='" + packageName + '\'' +
                ", moduleName='" + moduleName + '\'' +
                ", businessName='" + businessName + '\'' +
                ", functionName='" + functionName + '\'' +
                ", functionAuthor='" + functionAuthor + '\'' +
                ", genType='" + genType + '\'' +
                ", genPath='" + genPath + '\'' +
                ", options='" + options + '\'' +
                ", treeCode='" + treeCode + '\'' +
                ", treeParentCode='" + treeParentCode + '\'' +
                ", treeName='" + treeName + '\'' +
                ", parentMenuId='" + parentMenuId + '\'' +
                ", parentMenuName='" + parentMenuName + '\'' +
                ", roleId='" + roleId + '\'' +
                '}';
    }
}