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


import ervu_dashboard.ervu_dashboard.db_beans.ervu_dashboard.tables.Disability;

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

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


/**
 * сведения об инвалидности/недееспособности/ограниченной дееспособности
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class DisabilityRecord extends UpdatableRecordImpl<DisabilityRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>ervu_dashboard.disability.disability_id</code>.
     */
    public void setDisabilityId(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>ervu_dashboard.disability.disability_id</code>.
     */
    public Long getDisabilityId() {
        return (Long) get(0);
    }

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

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

    /**
     * Setter for <code>ervu_dashboard.disability.disability</code>. сведения об
     * инвалидности(true)/недееспособности(false)
     */
    public void setDisability(Boolean value) {
        set(2, value);
    }

    /**
     * Getter for <code>ervu_dashboard.disability.disability</code>. сведения об
     * инвалидности(true)/недееспособности(false)
     */
    public Boolean getDisability() {
        return (Boolean) get(2);
    }

    /**
     * Setter for <code>ervu_dashboard.disability.organization_name</code>.
     * наименование организации, установившей инвалидность/судебного органа
     */
    public void setOrganizationName(String value) {
        set(3, value);
    }

    /**
     * Getter for <code>ervu_dashboard.disability.organization_name</code>.
     * наименование организации, установившей инвалидность/судебного органа
     */
    public String getOrganizationName() {
        return (String) get(3);
    }

    /**
     * Setter for <code>ervu_dashboard.disability.start_date</code>. дата
     * установления инвалидности/признания гражданина недееспособным
     */
    public void setStartDate(Date value) {
        set(4, value);
    }

    /**
     * Getter for <code>ervu_dashboard.disability.start_date</code>. дата
     * установления инвалидности/признания гражданина недееспособным
     */
    public Date getStartDate() {
        return (Date) get(4);
    }

    /**
     * Setter for <code>ervu_dashboard.disability.close_date</code>. дата снятия
     * инвалидности/отмены ограничения гражданина в дееспособности
     */
    public void setCloseDate(Date value) {
        set(5, value);
    }

    /**
     * Getter for <code>ervu_dashboard.disability.close_date</code>. дата снятия
     * инвалидности/отмены ограничения гражданина в дееспособности
     */
    public Date getCloseDate() {
        return (Date) get(5);
    }

    /**
     * Setter for <code>ervu_dashboard.disability.confirmation_date</code>. дата
     * подтверждения инвалидности
     */
    public void setConfirmationDate(Date value) {
        set(6, value);
    }

    /**
     * Getter for <code>ervu_dashboard.disability.confirmation_date</code>. дата
     * подтверждения инвалидности
     */
    public Date getConfirmationDate() {
        return (Date) get(6);
    }

    /**
     * Setter for <code>ervu_dashboard.disability.re_examination_date</code>.
     * дата переосвидетельствования по инвалидности
     */
    public void setReExaminationDate(Date value) {
        set(7, value);
    }

    /**
     * Getter for <code>ervu_dashboard.disability.re_examination_date</code>.
     * дата переосвидетельствования по инвалидности
     */
    public Date getReExaminationDate() {
        return (Date) get(7);
    }

    /**
     * Setter for <code>ervu_dashboard.disability.disability_group</code>.
     * группа инвалидности
     */
    public void setDisabilityGroup(String value) {
        set(8, value);
    }

    /**
     * Getter for <code>ervu_dashboard.disability.disability_group</code>.
     * группа инвалидности
     */
    public String getDisabilityGroup() {
        return (String) get(8);
    }

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

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

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

    /**
     * Create a detached DisabilityRecord
     */
    public DisabilityRecord() {
        super(Disability.DISABILITY);
    }

    /**
     * Create a detached, initialised DisabilityRecord
     */
    public DisabilityRecord(Long disabilityId, UUID recruitId, Boolean disability, String organizationName, Date startDate, Date closeDate, Date confirmationDate, Date reExaminationDate, String disabilityGroup) {
        super(Disability.DISABILITY);

        setDisabilityId(disabilityId);
        setRecruitId(recruitId);
        setDisability(disability);
        setOrganizationName(organizationName);
        setStartDate(startDate);
        setCloseDate(closeDate);
        setConfirmationDate(confirmationDate);
        setReExaminationDate(reExaminationDate);
        setDisabilityGroup(disabilityGroup);
        resetChangedOnNotNull();
    }
}
