/*
 * This file is generated by jOOQ.
 */
package ru.micord.ervu.account_applications.db_beans.public_;


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

import org.jooq.Catalog;
import org.jooq.Sequence;
import org.jooq.Table;
import org.jooq.impl.SchemaImpl;

import ru.micord.ervu.account_applications.db_beans.DefaultCatalog;
import ru.micord.ervu.account_applications.db_beans.public_.tables.Databasechangelog;
import ru.micord.ervu.account_applications.db_beans.public_.tables.Databasechangeloglock;
import ru.micord.ervu.account_applications.db_beans.public_.tables.IpDirectory;
import ru.micord.ervu.account_applications.db_beans.public_.tables.JobPosition;
import ru.micord.ervu.account_applications.db_beans.public_.tables.LinkUserApplicationIpAddress;
import ru.micord.ervu.account_applications.db_beans.public_.tables.LinkUserApplicationUpdateIpAddress;
import ru.micord.ervu.account_applications.db_beans.public_.tables.LinkUserApplicationUserApplicationRole;
import ru.micord.ervu.account_applications.db_beans.public_.tables.LinkUserApplicationUserApplicationUpdateRole;
import ru.micord.ervu.account_applications.db_beans.public_.tables.Recruitment;
import ru.micord.ervu.account_applications.db_beans.public_.tables.RecruitmentIp;
import ru.micord.ervu.account_applications.db_beans.public_.tables.RecruitmentSolution;
import ru.micord.ervu.account_applications.db_beans.public_.tables.Shedlock;
import ru.micord.ervu.account_applications.db_beans.public_.tables.Solution;
import ru.micord.ervu.account_applications.db_beans.public_.tables.SolutionRole;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationDocument;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationList;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationListAudit;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationRole;


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

    private static final long serialVersionUID = 1L;

    /**
     * The reference instance of <code>public</code>
     */
    public static final Public PUBLIC = new Public();

    /**
     * Журнал изменений базы данных
     */
    public final Databasechangelog DATABASECHANGELOG = Databasechangelog.DATABASECHANGELOG;

    /**
     * Блокировка журнала изменений базы данных
     */
    public final Databasechangeloglock DATABASECHANGELOGLOCK = Databasechangeloglock.DATABASECHANGELOGLOCK;

    /**
     * The table <code>public.ip_directory</code>.
     */
    public final IpDirectory IP_DIRECTORY = IpDirectory.IP_DIRECTORY;

    /**
     * Должность
     */
    public final JobPosition JOB_POSITION = JobPosition.JOB_POSITION;

    /**
     * Таблица связи заявок и ip адрессов пользователя
     */
    public final LinkUserApplicationIpAddress LINK_USER_APPLICATION_IP_ADDRESS = LinkUserApplicationIpAddress.LINK_USER_APPLICATION_IP_ADDRESS;

    /**
     * Таблица связи заявок и ip адрессов пользователя на изменение
     */
    public final LinkUserApplicationUpdateIpAddress LINK_USER_APPLICATION_UPDATE_IP_ADDRESS = LinkUserApplicationUpdateIpAddress.LINK_USER_APPLICATION_UPDATE_IP_ADDRESS;

    /**
     * The table
     * <code>public.link_user_application_user_application_role</code>.
     */
    public final LinkUserApplicationUserApplicationRole LINK_USER_APPLICATION_USER_APPLICATION_ROLE = LinkUserApplicationUserApplicationRole.LINK_USER_APPLICATION_USER_APPLICATION_ROLE;

    /**
     * The table
     * <code>public.link_user_application_user_application_update_role</code>.
     */
    public final LinkUserApplicationUserApplicationUpdateRole LINK_USER_APPLICATION_USER_APPLICATION_UPDATE_ROLE = LinkUserApplicationUserApplicationUpdateRole.LINK_USER_APPLICATION_USER_APPLICATION_UPDATE_ROLE;

    /**
     * Военный комиссариат
     */
    public final Recruitment RECRUITMENT = Recruitment.RECRUITMENT;

    /**
     * The table <code>public.recruitment_ip</code>.
     */
    public final RecruitmentIp RECRUITMENT_IP = RecruitmentIp.RECRUITMENT_IP;

    /**
     * The table <code>public.recruitment_solution</code>.
     */
    public final RecruitmentSolution RECRUITMENT_SOLUTION = RecruitmentSolution.RECRUITMENT_SOLUTION;

    /**
     * The table <code>public.shedlock</code>.
     */
    public final Shedlock SHEDLOCK = Shedlock.SHEDLOCK;

    /**
     * The table <code>public.solution</code>.
     */
    public final Solution SOLUTION = Solution.SOLUTION;

    /**
     * The table <code>public.solution_role</code>.
     */
    public final SolutionRole SOLUTION_ROLE = SolutionRole.SOLUTION_ROLE;

    /**
     * Документы в заявке пользователя
     */
    public final UserApplicationDocument USER_APPLICATION_DOCUMENT = UserApplicationDocument.USER_APPLICATION_DOCUMENT;

    /**
     * Список заявок пользователя
     */
    public final UserApplicationList USER_APPLICATION_LIST = UserApplicationList.USER_APPLICATION_LIST;

    /**
     * The table <code>public.user_application_list_audit</code>.
     */
    public final UserApplicationListAudit USER_APPLICATION_LIST_AUDIT = UserApplicationListAudit.USER_APPLICATION_LIST_AUDIT;

    /**
     * The table <code>public.user_application_role</code>.
     */
    public final UserApplicationRole USER_APPLICATION_ROLE = UserApplicationRole.USER_APPLICATION_ROLE;

    /**
     * No further instances allowed
     */
    private Public() {
        super("public", null);
    }


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

    @Override
    public final List<Sequence<?>> getSequences() {
        return Arrays.asList(
            Sequences.LINK_USER_APPLICATION_IP_ADDR_LINK_USER_APPLICATION_IP_ADDR_SEQ,
            Sequences.LINK_USER_APPLICATION_UPDATE__LINK_USER_APPLICATION_UPDATE__SEQ,
            Sequences.LINK_USER_APPLICATION_USER_AP_LINK_USER_APPLICATION_USER_RO_SEQ,
            Sequences.LINK_USER_APPLICATION_USER_AP_LINK_USER_APPLICATION_USER_UP_SEQ
        );
    }

    @Override
    public final List<Table<?>> getTables() {
        return Arrays.asList(
            Databasechangelog.DATABASECHANGELOG,
            Databasechangeloglock.DATABASECHANGELOGLOCK,
            IpDirectory.IP_DIRECTORY,
            JobPosition.JOB_POSITION,
            LinkUserApplicationIpAddress.LINK_USER_APPLICATION_IP_ADDRESS,
            LinkUserApplicationUpdateIpAddress.LINK_USER_APPLICATION_UPDATE_IP_ADDRESS,
            LinkUserApplicationUserApplicationRole.LINK_USER_APPLICATION_USER_APPLICATION_ROLE,
            LinkUserApplicationUserApplicationUpdateRole.LINK_USER_APPLICATION_USER_APPLICATION_UPDATE_ROLE,
            Recruitment.RECRUITMENT,
            RecruitmentIp.RECRUITMENT_IP,
            RecruitmentSolution.RECRUITMENT_SOLUTION,
            Shedlock.SHEDLOCK,
            Solution.SOLUTION,
            SolutionRole.SOLUTION_ROLE,
            UserApplicationDocument.USER_APPLICATION_DOCUMENT,
            UserApplicationList.USER_APPLICATION_LIST,
            UserApplicationListAudit.USER_APPLICATION_LIST_AUDIT,
            UserApplicationRole.USER_APPLICATION_ROLE
        );
    }
}
