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


import java.time.LocalDate

import jooq.main.enums.KugMemberStatusEnum
import jooq.main.tables.KugMember

import org.jooq.impl.TableRecordImpl


/**
 * This class is generated by jOOQ.
 */
@Suppress("UNCHECKED_CAST")
open class KugMemberRecord() : TableRecordImpl<KugMemberRecord>(KugMember.KUG_MEMBER) {

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

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

    open var role: String?
        set(value): Unit = set(2, value)
        get(): String? = get(2) as String?

    open var joinDate: LocalDate?
        set(value): Unit = set(3, value)
        get(): LocalDate? = get(3) as LocalDate?

    open var status: KugMemberStatusEnum?
        set(value): Unit = set(4, value)
        get(): KugMemberStatusEnum? = get(4) as KugMemberStatusEnum?

    open var version: Long?
        set(value): Unit = set(5, value)
        get(): Long? = get(5) as Long?

    /**
     * Create a detached, initialised KugMemberRecord
     */
    constructor(kotlinerId: Long? = null, kugId: Long? = null, role: String? = null, joinDate: LocalDate? = null, status: KugMemberStatusEnum? = null, version: Long? = null): this() {
        this.kotlinerId = kotlinerId
        this.kugId = kugId
        this.role = role
        this.joinDate = joinDate
        this.status = status
        this.version = version
        resetChangedOnNotNull()
    }

    /**
     * Create a detached, initialised KugMemberRecord
     */
    constructor(value: jooq.main.tables.pojos.KugMember?): this() {
        if (value != null) {
            this.kotlinerId = value.kotlinerId
            this.kugId = value.kugId
            this.role = value.role
            this.joinDate = value.joinDate
            this.status = value.status
            this.version = value.version
            resetChangedOnNotNull()
        }
    }
}
