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


import java.sql.Date;
import java.util.UUID;

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

import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.DriversLicence;


/**
 * удостоверение водительское/тракториста-машиниста
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class DriversLicenceRecord extends UpdatableRecordImpl<DriversLicenceRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for
     * <code>ervu_dashboard.drivers_licence.drivers_licence_id</code>.
     */
    public void setDriversLicenceId(Long value) {
        set(0, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.drivers_licence.drivers_licence_id</code>.
     */
    public Long getDriversLicenceId() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>ervu_dashboard.drivers_licence.recruit_id</code>. ссылка
     * на гражданина (citizen)
     */
    public void setRecruitId(UUID value) {
        set(1, value);
    }

    /**
     * Getter for <code>ervu_dashboard.drivers_licence.recruit_id</code>. ссылка
     * на гражданина (citizen)
     */
    public UUID getRecruitId() {
        return (UUID) get(1);
    }

    /**
     * Setter for <code>ervu_dashboard.drivers_licence.tractor_driver</code>.
     * удостоверение тракториста
     */
    public void setTractorDriver(Boolean value) {
        set(2, value);
    }

    /**
     * Getter for <code>ervu_dashboard.drivers_licence.tractor_driver</code>.
     * удостоверение тракториста
     */
    public Boolean getTractorDriver() {
        return (Boolean) get(2);
    }

    /**
     * Setter for <code>ervu_dashboard.drivers_licence.licence_series</code>.
     * серия
     */
    public void setLicenceSeries(String value) {
        set(3, value);
    }

    /**
     * Getter for <code>ervu_dashboard.drivers_licence.licence_series</code>.
     * серия
     */
    public String getLicenceSeries() {
        return (String) get(3);
    }

    /**
     * Setter for <code>ervu_dashboard.drivers_licence.licence_number</code>.
     * номер
     */
    public void setLicenceNumber(String value) {
        set(4, value);
    }

    /**
     * Getter for <code>ervu_dashboard.drivers_licence.licence_number</code>.
     * номер
     */
    public String getLicenceNumber() {
        return (String) get(4);
    }

    /**
     * Setter for <code>ervu_dashboard.drivers_licence.start_date</code>. дата
     * выдачи
     */
    public void setStartDate(Date value) {
        set(5, value);
    }

    /**
     * Getter for <code>ervu_dashboard.drivers_licence.start_date</code>. дата
     * выдачи
     */
    public Date getStartDate() {
        return (Date) get(5);
    }

    /**
     * Setter for <code>ervu_dashboard.drivers_licence.close_date</code>. дата
     * окончания действия
     */
    public void setCloseDate(Date value) {
        set(6, value);
    }

    /**
     * Getter for <code>ervu_dashboard.drivers_licence.close_date</code>. дата
     * окончания действия
     */
    public Date getCloseDate() {
        return (Date) get(6);
    }

    /**
     * Setter for <code>ervu_dashboard.drivers_licence.categories</code>.
     * категории
     */
    public void setCategories(String value) {
        set(7, value);
    }

    /**
     * Getter for <code>ervu_dashboard.drivers_licence.categories</code>.
     * категории
     */
    public String getCategories() {
        return (String) get(7);
    }

    /**
     * Setter for <code>ervu_dashboard.drivers_licence.status</code>. статус
     * удостоверения
     */
    public void setStatus(String value) {
        set(8, value);
    }

    /**
     * Getter for <code>ervu_dashboard.drivers_licence.status</code>. статус
     * удостоверения
     */
    public String getStatus() {
        return (String) get(8);
    }

    /**
     * Setter for <code>ervu_dashboard.drivers_licence.replacement_date</code>.
     * дата замены
     */
    public void setReplacementDate(Date value) {
        set(9, value);
    }

    /**
     * Getter for <code>ervu_dashboard.drivers_licence.replacement_date</code>.
     * дата замены
     */
    public Date getReplacementDate() {
        return (Date) get(9);
    }

    /**
     * Setter for <code>ervu_dashboard.drivers_licence.return_date</code>. дата
     * возврата
     */
    public void setReturnDate(Date value) {
        set(10, value);
    }

    /**
     * Getter for <code>ervu_dashboard.drivers_licence.return_date</code>. дата
     * возврата
     */
    public Date getReturnDate() {
        return (Date) get(10);
    }

    /**
     * Setter for <code>ervu_dashboard.drivers_licence.seizure_date</code>. дата
     * изъятия
     */
    public void setSeizureDate(Date value) {
        set(11, value);
    }

    /**
     * Getter for <code>ervu_dashboard.drivers_licence.seizure_date</code>. дата
     * изъятия
     */
    public Date getSeizureDate() {
        return (Date) get(11);
    }

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

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

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

    /**
     * Create a detached DriversLicenceRecord
     */
    public DriversLicenceRecord() {
        super(DriversLicence.DRIVERS_LICENCE);
    }

    /**
     * Create a detached, initialised DriversLicenceRecord
     */
    public DriversLicenceRecord(Long driversLicenceId, UUID recruitId, Boolean tractorDriver, String licenceSeries, String licenceNumber, Date startDate, Date closeDate, String categories, String status, Date replacementDate, Date returnDate, Date seizureDate) {
        super(DriversLicence.DRIVERS_LICENCE);

        setDriversLicenceId(driversLicenceId);
        setRecruitId(recruitId);
        setTractorDriver(tractorDriver);
        setLicenceSeries(licenceSeries);
        setLicenceNumber(licenceNumber);
        setStartDate(startDate);
        setCloseDate(closeDate);
        setCategories(categories);
        setStatus(status);
        setReplacementDate(replacementDate);
        setReturnDate(returnDate);
        setSeizureDate(seizureDate);
        resetChangedOnNotNull();
    }
}
