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


import jooq.main.tables.Company

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


/**
 * This class is generated by jOOQ.
 */
@Suppress("UNCHECKED_CAST")
open class CompanyRecord() : UpdatableRecordImpl<CompanyRecord>(Company.COMPANY) {

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

    open var name: String?
        set(value): Unit = set(1, value)
        get(): String? = get(1) as String?

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

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

    open var logo: String?
        set(value): Unit = set(4, value)
        get(): String? = get(4) as String?

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

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

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

    /**
     * Create a detached, initialised CompanyRecord
     */
    constructor(id: Long? = null, name: String? = null, description: String? = null, url: String? = null, logo: String? = null, version: Long? = null): this() {
        this.id = id
        this.name = name
        this.description = description
        this.url = url
        this.logo = logo
        this.version = version
        resetChangedOnNotNull()
    }

    /**
     * Create a detached, initialised CompanyRecord
     */
    constructor(value: jooq.main.tables.pojos.Company?): this() {
        if (value != null) {
            this.id = value.id
            this.name = value.name
            this.description = value.description
            this.url = value.url
            this.logo = value.logo
            this.version = value.version
            resetChangedOnNotNull()
        }
    }
}
