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


import java.time.OffsetDateTime

import jooq.main.tables.Vacancy

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


/**
 * This class is generated by jOOQ.
 */
@Suppress("UNCHECKED_CAST")
open class VacancyRecord() : UpdatableRecordImpl<VacancyRecord>(Vacancy.VACANCY) {

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

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

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

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

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

    open var workplace: String?
        set(value): Unit = set(5, value)
        get(): String? = get(5) as String?

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

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

    open var contact: String?
        set(value): Unit = set(8, value)
        get(): String? = get(8) as String?

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

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

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

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

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

    /**
     * Create a detached, initialised VacancyRecord
     */
    constructor(id: Long? = null, title: String? = null, location: String? = null, companyId: Long? = null, kotlinerId: Long? = null, workplace: String? = null, employment: String? = null, salary: String? = null, contact: String? = null, description: String? = null, created: OffsetDateTime? = null, updated: OffsetDateTime? = null): this() {
        this.id = id
        this.title = title
        this.location = location
        this.companyId = companyId
        this.kotlinerId = kotlinerId
        this.workplace = workplace
        this.employment = employment
        this.salary = salary
        this.contact = contact
        this.description = description
        this.created = created
        this.updated = updated
        resetChangedOnNotNull()
    }

    /**
     * Create a detached, initialised VacancyRecord
     */
    constructor(value: jooq.main.tables.pojos.Vacancy?): this() {
        if (value != null) {
            this.id = value.id
            this.title = value.title
            this.location = value.location
            this.companyId = value.companyId
            this.kotlinerId = value.kotlinerId
            this.workplace = value.workplace
            this.employment = value.employment
            this.salary = value.salary
            this.contact = value.contact
            this.description = value.description
            this.created = value.created
            this.updated = value.updated
            resetChangedOnNotNull()
        }
    }
}
