/*
 * This file is generated by jOOQ.
 */
package com.nisemoe.generated


import com.nisemoe.generated.sequences.BEATMAPS_BEATMAP_ID_SEQ
import com.nisemoe.generated.sequences.BEATMAPS_BEATMAP_ID_SEQ1
import com.nisemoe.generated.sequences.SCORES_ID_SEQ
import com.nisemoe.generated.sequences.SCORES_ID_SEQ1
import com.nisemoe.generated.sequences.SCORES_JUDGEMENTS_ID_SEQ
import com.nisemoe.generated.sequences.SCORES_JUDGEMENTS_ID_SEQ1
import com.nisemoe.generated.sequences.SCORES_SIMILARITY_ID_SEQ
import com.nisemoe.generated.sequences.SCORES_SIMILARITY_ID_SEQ1
import com.nisemoe.generated.sequences.USERS_USER_ID_SEQ
import com.nisemoe.generated.sequences.USERS_USER_ID_SEQ1
import com.nisemoe.generated.tables.Beatmaps
import com.nisemoe.generated.tables.FlywaySchemaHistory
import com.nisemoe.generated.tables.OsuApiKeys
import com.nisemoe.generated.tables.RedditPost
import com.nisemoe.generated.tables.Scores
import com.nisemoe.generated.tables.ScoresJudgements
import com.nisemoe.generated.tables.ScoresSimilarity
import com.nisemoe.generated.tables.UpdateUserQueue
import com.nisemoe.generated.tables.UserScores
import com.nisemoe.generated.tables.UserScoresSimilarity
import com.nisemoe.generated.tables.Users

import kotlin.collections.List

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


/**
 * This class is generated by jOOQ.
 */
@Suppress("UNCHECKED_CAST")
open class Public : SchemaImpl("public", DefaultCatalog.DEFAULT_CATALOG) {
    public companion object {

        /**
         * The reference instance of <code>public</code>
         */
        val PUBLIC: Public = Public()
    }

    /**
     * The table <code>public.beatmaps</code>.
     */
    val BEATMAPS: Beatmaps get() = Beatmaps.BEATMAPS

    /**
     * The table <code>public.flyway_schema_history</code>.
     */
    val FLYWAY_SCHEMA_HISTORY: FlywaySchemaHistory get() = FlywaySchemaHistory.FLYWAY_SCHEMA_HISTORY

    /**
     * The table <code>public.osu_api_keys</code>.
     */
    val OSU_API_KEYS: OsuApiKeys get() = OsuApiKeys.OSU_API_KEYS

    /**
     * The table <code>public.reddit_post</code>.
     */
    val REDDIT_POST: RedditPost get() = RedditPost.REDDIT_POST

    /**
     * The table <code>public.scores</code>.
     */
    val SCORES: Scores get() = Scores.SCORES

    /**
     * The table <code>public.scores_judgements</code>.
     */
    val SCORES_JUDGEMENTS: ScoresJudgements get() = ScoresJudgements.SCORES_JUDGEMENTS

    /**
     * The table <code>public.scores_similarity</code>.
     */
    val SCORES_SIMILARITY: ScoresSimilarity get() = ScoresSimilarity.SCORES_SIMILARITY

    /**
     * The table <code>public.update_user_queue</code>.
     */
    val UPDATE_USER_QUEUE: UpdateUserQueue get() = UpdateUserQueue.UPDATE_USER_QUEUE

    /**
     * The table <code>public.user_scores</code>.
     */
    val USER_SCORES: UserScores get() = UserScores.USER_SCORES

    /**
     * The table <code>public.user_scores_similarity</code>.
     */
    val USER_SCORES_SIMILARITY: UserScoresSimilarity get() = UserScoresSimilarity.USER_SCORES_SIMILARITY

    /**
     * The table <code>public.users</code>.
     */
    val USERS: Users get() = Users.USERS

    override fun getCatalog(): Catalog = DefaultCatalog.DEFAULT_CATALOG

    override fun getSequences(): List<Sequence<*>> = listOf(
        BEATMAPS_BEATMAP_ID_SEQ,
        BEATMAPS_BEATMAP_ID_SEQ1,
        SCORES_ID_SEQ,
        SCORES_ID_SEQ1,
        SCORES_JUDGEMENTS_ID_SEQ,
        SCORES_JUDGEMENTS_ID_SEQ1,
        SCORES_SIMILARITY_ID_SEQ,
        SCORES_SIMILARITY_ID_SEQ1,
        USERS_USER_ID_SEQ,
        USERS_USER_ID_SEQ1
    )

    override fun getTables(): List<Table<*>> = listOf(
        Beatmaps.BEATMAPS,
        FlywaySchemaHistory.FLYWAY_SCHEMA_HISTORY,
        OsuApiKeys.OSU_API_KEYS,
        RedditPost.REDDIT_POST,
        Scores.SCORES,
        ScoresJudgements.SCORES_JUDGEMENTS,
        ScoresSimilarity.SCORES_SIMILARITY,
        UpdateUserQueue.UPDATE_USER_QUEUE,
        UserScores.USER_SCORES,
        UserScoresSimilarity.USER_SCORES_SIMILARITY,
        Users.USERS
    )
}
