All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.zcj.util.db.meta.TableInfo Maven / Gradle / Ivy

There is a newer version: 1.1.38
Show newest version
package com.zcj.util.db.meta;

import com.zcj.util.db.meta.constant.TableType;

import java.util.*;

/**
 * 表(视图)信息
 *
 * @author [email protected]
 * @since 2019/12/3
 */
public class TableInfo {

    private String tableName;       // 表(视图)名
    private String comment;         // 注释
    private TableType tableType;    // 类型
    private Map columns = new LinkedHashMap<>();    // 表的字段信息
    private List indexs = new ArrayList<>();                 // 表的索引信息
    private List pkNames = new ArrayList<>();                   // 表的主键信息

    public TableInfo(String tableName) {
        this.setTableName(tableName);
    }

    public static TableInfo create(String tableName) {
        return new TableInfo(tableName);
    }

    public void addIndex(IndexInfo indexInfo) {
        if (indexs == null) {
            indexs = new ArrayList<>();
        }
        indexs.add(indexInfo);
    }

    public TableInfo addPkName(String pkName) {
        this.pkNames.add(pkName);
        return this;
    }

    public TableInfo addColumn(ColumnInfo columnInfo) {
        this.columns.put(columnInfo.getName(), columnInfo);
        return this;
    }

    public ColumnInfo getColumn(String columnName) {
        return this.columns.get(columnName);
    }

    public Collection getColumns() {
        return this.columns.values();
    }

    public TableInfo setTableType(TableType tableType) {
        this.tableType = tableType;
        return this;
    }

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

    public TableInfo setComment(String comment) {
        this.comment = comment;
        return this;
    }

    public TableInfo setPkNames(List pkNames) {
        this.pkNames = pkNames;
        return this;
    }

    public String getTableName() {
        return tableName;
    }

    public TableType getTableType() {
        return tableType;
    }

    public String getComment() {
        return comment;
    }

    public List getPkNames() {
        return pkNames;
    }

    public List getIndexs() {
        return indexs;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy