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


import com.nisemoe.generated.tables.UserScores

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

import org.jooq.impl.TableRecordImpl


/**
 * This class is generated by jOOQ.
 */
@Suppress("UNCHECKED_CAST")
open class UserScoresRecord private constructor() : TableRecordImpl<UserScoresRecord>(UserScores.USER_SCORES) {

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

    open var addedAt: OffsetDateTime?
        set(value): Unit = set(1, value)
        get(): OffsetDateTime? = get(1) as OffsetDateTime?

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

    open var beatmapHash: String?
        set(value): Unit = set(3, value)
        get(): String? = get(3) as String?

    open var gameMode: Int?
        set(value): Unit = set(4, value)
        get(): Int? = get(4) as Int?

    open var gameVersion: Int?
        set(value): Unit = set(5, value)
        get(): Int? = get(5) as Int?

    open var playerName: String?
        set(value): Unit = set(6, value)
        get(): String? = get(6) as String?

    open var replayHash: String?
        set(value): Unit = set(7, value)
        get(): String? = get(7) as String?

    open var count_300: Short?
        set(value): Unit = set(8, value)
        get(): Short? = get(8) as Short?

    open var count_100: Short?
        set(value): Unit = set(9, value)
        get(): Short? = get(9) as Short?

    open var count_50: Short?
        set(value): Unit = set(10, value)
        get(): Short? = get(10) as Short?

    open var countGeki: Short?
        set(value): Unit = set(11, value)
        get(): Short? = get(11) as Short?

    open var countKatu: Short?
        set(value): Unit = set(12, value)
        get(): Short? = get(12) as Short?

    open var countMiss: Short?
        set(value): Unit = set(13, value)
        get(): Short? = get(13) as Short?

    open var totalScore: Int?
        set(value): Unit = set(14, value)
        get(): Int? = get(14) as Int?

    open var maxCombo: Short?
        set(value): Unit = set(15, value)
        get(): Short? = get(15) as Short?

    open var perfect: Boolean?
        set(value): Unit = set(16, value)
        get(): Boolean? = get(16) as Boolean?

    open var mods: Int?
        set(value): Unit = set(17, value)
        get(): Int? = get(17) as Int?

    open var lifeBarGraph: String?
        set(value): Unit = set(18, value)
        get(): String? = get(18) as String?

    open var timestamp: Long?
        set(value): Unit = set(19, value)
        get(): Long? = get(19) as Long?

    open var replayLength: Int?
        set(value): Unit = set(20, value)
        get(): Int? = get(20) as Int?

    open var replayData: String?
        set(value): Unit = set(21, value)
        get(): String? = get(21) as String?

    open var onlineScoreId: Long?
        set(value): Unit = set(22, value)
        get(): Long? = get(22) as Long?

    open var additionalModInfo: Double?
        set(value): Unit = set(23, value)
        get(): Double? = get(23) as Double?

    open var ur: Double?
        set(value): Unit = set(24, value)
        get(): Double? = get(24) as Double?

    open var frametime: Double?
        set(value): Unit = set(25, value)
        get(): Double? = get(25) as Double?

    open var edgeHits: Int?
        set(value): Unit = set(26, value)
        get(): Int? = get(26) as Int?

    open var snaps: Int?
        set(value): Unit = set(27, value)
        get(): Int? = get(27) as Int?

    open var adjustedUr: Double?
        set(value): Unit = set(28, value)
        get(): Double? = get(28) as Double?

    open var meanError: Double?
        set(value): Unit = set(29, value)
        get(): Double? = get(29) as Double?

    open var errorVariance: Double?
        set(value): Unit = set(30, value)
        get(): Double? = get(30) as Double?

    open var errorStandardDeviation: Double?
        set(value): Unit = set(31, value)
        get(): Double? = get(31) as Double?

    open var minimumError: Double?
        set(value): Unit = set(32, value)
        get(): Double? = get(32) as Double?

    open var maximumError: Double?
        set(value): Unit = set(33, value)
        get(): Double? = get(33) as Double?

    open var errorRange: Double?
        set(value): Unit = set(34, value)
        get(): Double? = get(34) as Double?

    open var errorCoefficientOfVariation: Double?
        set(value): Unit = set(35, value)
        get(): Double? = get(35) as Double?

    open var errorKurtosis: Double?
        set(value): Unit = set(36, value)
        get(): Double? = get(36) as Double?

    open var errorSkewness: Double?
        set(value): Unit = set(37, value)
        get(): Double? = get(37) as Double?

    open var keypressesTimes: Array<Double?>?
        set(value): Unit = set(38, value)
        get(): Array<Double?>? = get(38) as Array<Double?>?

    open var keypressesMedian: Double?
        set(value): Unit = set(39, value)
        get(): Double? = get(39) as Double?

    open var keypressesStandardDeviation: Double?
        set(value): Unit = set(40, value)
        get(): Double? = get(40) as Double?

    open var sliderendReleaseTimes: Array<Double?>?
        set(value): Unit = set(41, value)
        get(): Array<Double?>? = get(41) as Array<Double?>?

    open var sliderendReleaseMedian: Double?
        set(value): Unit = set(42, value)
        get(): Double? = get(42) as Double?

    open var sliderendReleaseStandardDeviation: Double?
        set(value): Unit = set(43, value)
        get(): Double? = get(43) as Double?

    open var keypressesMedianAdjusted: Double?
        set(value): Unit = set(44, value)
        get(): Double? = get(44) as Double?

    open var keypressesStandardDeviationAdjusted: Double?
        set(value): Unit = set(45, value)
        get(): Double? = get(45) as Double?

    open var sliderendReleaseMedianAdjusted: Double?
        set(value): Unit = set(46, value)
        get(): Double? = get(46) as Double?

    open var sliderendReleaseStandardDeviationAdjusted: Double?
        set(value): Unit = set(47, value)
        get(): Double? = get(47) as Double?

    open var judgements: ByteArray?
        set(value): Unit = set(48, value)
        get(): ByteArray? = get(48) as ByteArray?

    /**
     * Create a detached, initialised UserScoresRecord
     */
    constructor(id: UUID? = null, addedAt: OffsetDateTime? = null, beatmapId: Int? = null, beatmapHash: String? = null, gameMode: Int? = null, gameVersion: Int? = null, playerName: String? = null, replayHash: String? = null, count_300: Short? = null, count_100: Short? = null, count_50: Short? = null, countGeki: Short? = null, countKatu: Short? = null, countMiss: Short? = null, totalScore: Int? = null, maxCombo: Short? = null, perfect: Boolean? = null, mods: Int? = null, lifeBarGraph: String? = null, timestamp: Long? = null, replayLength: Int? = null, replayData: String? = null, onlineScoreId: Long? = null, additionalModInfo: Double? = null, ur: Double? = null, frametime: Double? = null, edgeHits: Int? = null, snaps: Int? = null, adjustedUr: Double? = null, meanError: Double? = null, errorVariance: Double? = null, errorStandardDeviation: Double? = null, minimumError: Double? = null, maximumError: Double? = null, errorRange: Double? = null, errorCoefficientOfVariation: Double? = null, errorKurtosis: Double? = null, errorSkewness: Double? = null, keypressesTimes: Array<Double?>? = null, keypressesMedian: Double? = null, keypressesStandardDeviation: Double? = null, sliderendReleaseTimes: Array<Double?>? = null, sliderendReleaseMedian: Double? = null, sliderendReleaseStandardDeviation: Double? = null, keypressesMedianAdjusted: Double? = null, keypressesStandardDeviationAdjusted: Double? = null, sliderendReleaseMedianAdjusted: Double? = null, sliderendReleaseStandardDeviationAdjusted: Double? = null, judgements: ByteArray? = null): this() {
        this.id = id
        this.addedAt = addedAt
        this.beatmapId = beatmapId
        this.beatmapHash = beatmapHash
        this.gameMode = gameMode
        this.gameVersion = gameVersion
        this.playerName = playerName
        this.replayHash = replayHash
        this.count_300 = count_300
        this.count_100 = count_100
        this.count_50 = count_50
        this.countGeki = countGeki
        this.countKatu = countKatu
        this.countMiss = countMiss
        this.totalScore = totalScore
        this.maxCombo = maxCombo
        this.perfect = perfect
        this.mods = mods
        this.lifeBarGraph = lifeBarGraph
        this.timestamp = timestamp
        this.replayLength = replayLength
        this.replayData = replayData
        this.onlineScoreId = onlineScoreId
        this.additionalModInfo = additionalModInfo
        this.ur = ur
        this.frametime = frametime
        this.edgeHits = edgeHits
        this.snaps = snaps
        this.adjustedUr = adjustedUr
        this.meanError = meanError
        this.errorVariance = errorVariance
        this.errorStandardDeviation = errorStandardDeviation
        this.minimumError = minimumError
        this.maximumError = maximumError
        this.errorRange = errorRange
        this.errorCoefficientOfVariation = errorCoefficientOfVariation
        this.errorKurtosis = errorKurtosis
        this.errorSkewness = errorSkewness
        this.keypressesTimes = keypressesTimes
        this.keypressesMedian = keypressesMedian
        this.keypressesStandardDeviation = keypressesStandardDeviation
        this.sliderendReleaseTimes = sliderendReleaseTimes
        this.sliderendReleaseMedian = sliderendReleaseMedian
        this.sliderendReleaseStandardDeviation = sliderendReleaseStandardDeviation
        this.keypressesMedianAdjusted = keypressesMedianAdjusted
        this.keypressesStandardDeviationAdjusted = keypressesStandardDeviationAdjusted
        this.sliderendReleaseMedianAdjusted = sliderendReleaseMedianAdjusted
        this.sliderendReleaseStandardDeviationAdjusted = sliderendReleaseStandardDeviationAdjusted
        this.judgements = judgements
        resetChangedOnNotNull()
    }
}
