/*
 * This file is generated by jOOQ.
 */
package jooq.main.tables.records


import java.time.OffsetDateTime

import jooq.main.enums.LikeStateEnum
import jooq.main.tables.KotlinerLikeEntityState

import org.jooq.Record2
import org.jooq.impl.UpdatableRecordImpl


/**
 * This class is generated by jOOQ.
 */
@Suppress("UNCHECKED_CAST")
open class KotlinerLikeEntityStateRecord() : UpdatableRecordImpl<KotlinerLikeEntityStateRecord>(KotlinerLikeEntityState.KOTLINER_LIKE_ENTITY_STATE) {

    open var kotlinerId: Long?
        set(value): Unit = set(0, value)
        get(): Long? = get(0) as Long?

    open var entityId: Long?
        set(value): Unit = set(1, value)
        get(): Long? = get(1) as Long?

    open var likeState: LikeStateEnum?
        set(value): Unit = set(2, value)
        get(): LikeStateEnum? = get(2) as LikeStateEnum?

    open var adjustment: Int?
        set(value): Unit = set(3, value)
        get(): Int? = get(3) as Int?

    open var created: OffsetDateTime?
        set(value): Unit = set(4, value)
        get(): OffsetDateTime? = get(4) as OffsetDateTime?

    open var updated: OffsetDateTime?
        set(value): Unit = set(5, value)
        get(): OffsetDateTime? = get(5) as OffsetDateTime?

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

    override fun key(): Record2<Long?, Long?> = super.key() as Record2<Long?, Long?>

    /**
     * Create a detached, initialised KotlinerLikeEntityStateRecord
     */
    constructor(kotlinerId: Long? = null, entityId: Long? = null, likeState: LikeStateEnum? = null, adjustment: Int? = null, created: OffsetDateTime? = null, updated: OffsetDateTime? = null): this() {
        this.kotlinerId = kotlinerId
        this.entityId = entityId
        this.likeState = likeState
        this.adjustment = adjustment
        this.created = created
        this.updated = updated
        resetChangedOnNotNull()
    }

    /**
     * Create a detached, initialised KotlinerLikeEntityStateRecord
     */
    constructor(value: jooq.main.tables.pojos.KotlinerLikeEntityState?): this() {
        if (value != null) {
            this.kotlinerId = value.kotlinerId
            this.entityId = value.entityId
            this.likeState = value.likeState
            this.adjustment = value.adjustment
            this.created = value.created
            this.updated = value.updated
            resetChangedOnNotNull()
        }
    }
}
