/*
 * This file is generated by jOOQ.
 */
package ru.micord.ervu.account_applications.db_beans.public_.tables.records;


import java.sql.Timestamp;

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

import ru.micord.ervu.account_applications.db_beans.public_.tables.JobPosition;


/**
 * Должность
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class JobPositionRecord extends UpdatableRecordImpl<JobPositionRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>public.job_position.job_position_id</code>.
     * Идентификатор должности
     */
    public void setJobPositionId(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>public.job_position.job_position_id</code>.
     * Идентификатор должности
     */
    public Long getJobPositionId() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>public.job_position.name</code>. Наименование
     */
    public void setName(String value) {
        set(1, value);
    }

    /**
     * Getter for <code>public.job_position.name</code>. Наименование
     */
    public String getName() {
        return (String) get(1);
    }

    /**
     * Setter for <code>public.job_position.code</code>. Код
     */
    public void setCode(String value) {
        set(2, value);
    }

    /**
     * Getter for <code>public.job_position.code</code>. Код
     */
    public String getCode() {
        return (String) get(2);
    }

    /**
     * Setter for <code>public.job_position.start_date</code>. Дата начала
     */
    public void setStartDate(Timestamp value) {
        set(3, value);
    }

    /**
     * Getter for <code>public.job_position.start_date</code>. Дата начала
     */
    public Timestamp getStartDate() {
        return (Timestamp) get(3);
    }

    /**
     * Setter for <code>public.job_position.close_date</code>. Дата окончания
     */
    public void setCloseDate(Timestamp value) {
        set(4, value);
    }

    /**
     * Getter for <code>public.job_position.close_date</code>. Дата окончания
     */
    public Timestamp getCloseDate() {
        return (Timestamp) get(4);
    }

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

    @Override
    public Record1<Long> key() {
        return (Record1) super.key();
    }

    // -------------------------------------------------------------------------
    // Constructors
    // -------------------------------------------------------------------------

    /**
     * Create a detached JobPositionRecord
     */
    public JobPositionRecord() {
        super(JobPosition.JOB_POSITION);
    }

    /**
     * Create a detached, initialised JobPositionRecord
     */
    public JobPositionRecord(Long jobPositionId, String name, String code, Timestamp startDate, Timestamp closeDate) {
        super(JobPosition.JOB_POSITION);

        setJobPositionId(jobPositionId);
        setName(name);
        setCode(code);
        setStartDate(startDate);
        setCloseDate(closeDate);
        resetChangedOnNotNull();
    }
}
