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


import com.nisemoe.generated.tables.UserScoresSimilarity

import java.time.OffsetDateTime
import java.util.UUID

import org.jooq.Record1
import org.jooq.impl.UpdatableRecordImpl


/**
 * This class is generated by jOOQ.
 */
@Suppress("UNCHECKED_CAST")
open class UserScoresSimilarityRecord private constructor() : UpdatableRecordImpl<UserScoresSimilarityRecord>(UserScoresSimilarity.USER_SCORES_SIMILARITY) {

    open var id: Int?
        set(value): Unit = set(0, value)
        get(): Int? = get(0) as Int?

    open var beatmapId: Int?
        set(value): Unit = set(1, value)
        get(): Int? = get(1) as Int?

    open var replayIdUser: UUID?
        set(value): Unit = set(2, value)
        get(): UUID? = get(2) as UUID?

    open var replayIdOsu: Long?
        set(value): Unit = set(3, value)
        get(): Long? = get(3) as Long?

    open var similarity: Double?
        set(value): Unit = set(4, value)
        get(): Double? = get(4) as Double?

    open var correlation: Double?
        set(value): Unit = set(5, value)
        get(): Double? = get(5) as Double?

    open var createdAt: OffsetDateTime?
        set(value): Unit = set(6, value)
        get(): OffsetDateTime? = get(6) as OffsetDateTime?

    open var cgSimilarity: Double?
        set(value): Unit = set(7, value)
        get(): Double? = get(7) as Double?

    open var cgCorrelation: Double?
        set(value): Unit = set(8, value)
        get(): Double? = get(8) as Double?

    // -------------------------------------------------------------------------
    // Primary key information
    // -------------------------------------------------------------------------

    override fun key(): Record1<Int?> = super.key() as Record1<Int?>

    /**
     * Create a detached, initialised UserScoresSimilarityRecord
     */
    constructor(id: Int? = null, beatmapId: Int? = null, replayIdUser: UUID? = null, replayIdOsu: Long? = null, similarity: Double? = null, correlation: Double? = null, createdAt: OffsetDateTime? = null, cgSimilarity: Double? = null, cgCorrelation: Double? = null): this() {
        this.id = id
        this.beatmapId = beatmapId
        this.replayIdUser = replayIdUser
        this.replayIdOsu = replayIdOsu
        this.similarity = similarity
        this.correlation = correlation
        this.createdAt = createdAt
        this.cgSimilarity = cgSimilarity
        this.cgCorrelation = cgCorrelation
        resetChangedOnNotNull()
    }
}
