/*
 * This file is generated by jOOQ.
 */
package cn.vertxup.erp.domain;


import cn.vertxup.erp.domain.tables.*;
import io.vertx.mod.ke.refine.Ke;
import org.jooq.Catalog;
import org.jooq.Table;
import org.jooq.impl.SchemaImpl;

import java.util.Arrays;
import java.util.List;


/**
 * This class is generated by jOOQ.
 */
@SuppressWarnings({"all", "unchecked", "rawtypes"})
public class Db extends SchemaImpl {

    /**
     * The reference instance of <code>DB_ETERNAL</code>
     */
    public static final Db DB_ETERNAL = new Db();
    private static final long serialVersionUID = 1L;
    /**
     * The table <code>DB_ETERNAL.E_ASSET</code>.
     */
    public final EAsset E_ASSET = EAsset.E_ASSET;

    /**
     * The table <code>DB_ETERNAL.E_BRAND</code>.
     */
    public final EBrand E_BRAND = EBrand.E_BRAND;

    /**
     * The table <code>DB_ETERNAL.E_COMPANY</code>.
     */
    public final ECompany E_COMPANY = ECompany.E_COMPANY;

    /**
     * The table <code>DB_ETERNAL.E_CONTRACT</code>.
     */
    public final EContract E_CONTRACT = EContract.E_CONTRACT;

    /**
     * The table <code>DB_ETERNAL.E_CUSTOMER</code>.
     */
    public final ECustomer E_CUSTOMER = ECustomer.E_CUSTOMER;

    /**
     * The table <code>DB_ETERNAL.E_DEPT</code>.
     */
    public final EDept E_DEPT = EDept.E_DEPT;

    /**
     * The table <code>DB_ETERNAL.E_EMPLOYEE</code>.
     */
    public final EEmployee E_EMPLOYEE = EEmployee.E_EMPLOYEE;

    /**
     * The table <code>DB_ETERNAL.E_IDENTITY</code>.
     */
    public final EIdentity E_IDENTITY = EIdentity.E_IDENTITY;

    /**
     * The table <code>DB_ETERNAL.E_PROJECT</code>.
     */
    public final EProject E_PROJECT = EProject.E_PROJECT;

    /**
     * The table <code>DB_ETERNAL.E_TEAM</code>.
     */
    public final ETeam E_TEAM = ETeam.E_TEAM;

    /**
     * The table <code>DB_ETERNAL.R_ASSET_SHARE</code>.
     */
    public final RAssetShare R_ASSET_SHARE = RAssetShare.R_ASSET_SHARE;

    /**
     * The table <code>DB_ETERNAL.R_COMPANY_CUSTOMER</code>.
     */
    public final RCompanyCustomer R_COMPANY_CUSTOMER = RCompanyCustomer.R_COMPANY_CUSTOMER;

    /**
     * The table <code>DB_ETERNAL.R_TEAM_EMPLOYEE</code>.
     */
    public final RTeamEmployee R_TEAM_EMPLOYEE = RTeamEmployee.R_TEAM_EMPLOYEE;

    /**
     * The table <code>DB_ETERNAL.T_OA_ASSIGNMENT</code>.
     */
    public final TOaAssignment T_OA_ASSIGNMENT = TOaAssignment.T_OA_ASSIGNMENT;

    /**
     * The table <code>DB_ETERNAL.T_OA_TRAINING</code>.
     */
    public final TOaTraining T_OA_TRAINING = TOaTraining.T_OA_TRAINING;

    /**
     * The table <code>DB_ETERNAL.T_OA_TRIP</code>.
     */
    public final TOaTrip T_OA_TRIP = TOaTrip.T_OA_TRIP;

    /**
     * The table <code>DB_ETERNAL.T_OA_VACATION</code>.
     */
    public final TOaVacation T_OA_VACATION = TOaVacation.T_OA_VACATION;

    /**
     * The table <code>DB_ETERNAL.T_VENDOR_ASSESSMENT</code>.
     */
    public final TVendorAssessment T_VENDOR_ASSESSMENT = TVendorAssessment.T_VENDOR_ASSESSMENT;

    /**
     * The table <code>DB_ETERNAL.T_VENDOR_CHECK_IN</code>.
     */
    public final TVendorCheckIn T_VENDOR_CHECK_IN = TVendorCheckIn.T_VENDOR_CHECK_IN;

    /**
     * The table <code>DB_ETERNAL.T_VENDOR_CHECK_OUT</code>.
     */
    public final TVendorCheckOut T_VENDOR_CHECK_OUT = TVendorCheckOut.T_VENDOR_CHECK_OUT;

    /**
     * The table <code>DB_ETERNAL.T_VENDOR_HOUR</code>.
     */
    public final TVendorHour T_VENDOR_HOUR = TVendorHour.T_VENDOR_HOUR;

    /**
     * No further instances allowed
     */
    private Db() {
        super(Ke.getDatabase(), null);
    }


    @Override
    public Catalog getCatalog() {
        return DefaultCatalog.DEFAULT_CATALOG;
    }

    @Override
    public final List<Table<?>> getTables() {
        return Arrays.asList(
            EAsset.E_ASSET,
            EBrand.E_BRAND,
            ECompany.E_COMPANY,
            EContract.E_CONTRACT,
            ECustomer.E_CUSTOMER,
            EDept.E_DEPT,
            EEmployee.E_EMPLOYEE,
            EIdentity.E_IDENTITY,
            EProject.E_PROJECT,
            ETeam.E_TEAM,
            RAssetShare.R_ASSET_SHARE,
            RCompanyCustomer.R_COMPANY_CUSTOMER,
            RTeamEmployee.R_TEAM_EMPLOYEE,
            TOaAssignment.T_OA_ASSIGNMENT,
            TOaTraining.T_OA_TRAINING,
            TOaTrip.T_OA_TRIP,
            TOaVacation.T_OA_VACATION,
            TVendorAssessment.T_VENDOR_ASSESSMENT,
            TVendorCheckIn.T_VENDOR_CHECK_IN,
            TVendorCheckOut.T_VENDOR_CHECK_OUT,
            TVendorHour.T_VENDOR_HOUR
        );
    }
}
