/*
 * 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.DefermentUnifiedData;


/**
 * Унифицированные данные об отсрочках и правах на отсрочку
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class DefermentUnifiedDataRecord extends UpdatableRecordImpl<DefermentUnifiedDataRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>ervu_dashboard.deferment_unified_data.id</code>.
     * Уникальный идентификатор записи
     */
    public void setId(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>ervu_dashboard.deferment_unified_data.id</code>.
     * Уникальный идентификатор записи
     */
    public Long getId() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>ervu_dashboard.deferment_unified_data.recruit_id</code>.
     * ID призывника
     */
    public void setRecruitId(UUID value) {
        set(1, value);
    }

    /**
     * Getter for <code>ervu_dashboard.deferment_unified_data.recruit_id</code>.
     * ID призывника
     */
    public UUID getRecruitId() {
        return (UUID) get(1);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.deferment_unified_data.decision_number</code>. Номер
     * решения
     */
    public void setDecisionNumber(String value) {
        set(2, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.deferment_unified_data.decision_number</code>. Номер
     * решения
     */
    public String getDecisionNumber() {
        return (String) get(2);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.deferment_unified_data.deferment_type</code>. Тип
     * отсрочки/освобождения
     */
    public void setDefermentType(String value) {
        set(3, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.deferment_unified_data.deferment_type</code>. Тип
     * отсрочки/освобождения
     */
    public String getDefermentType() {
        return (String) get(3);
    }

    /**
     * Setter for <code>ervu_dashboard.deferment_unified_data.start_date</code>.
     * Дата начала действия
     */
    public void setStartDate(Date value) {
        set(4, value);
    }

    /**
     * Getter for <code>ervu_dashboard.deferment_unified_data.start_date</code>.
     * Дата начала действия
     */
    public Date getStartDate() {
        return (Date) get(4);
    }

    /**
     * Setter for <code>ervu_dashboard.deferment_unified_data.end_date</code>.
     * Дата окончания действия
     */
    public void setEndDate(Date value) {
        set(5, value);
    }

    /**
     * Getter for <code>ervu_dashboard.deferment_unified_data.end_date</code>.
     * Дата окончания действия
     */
    public Date getEndDate() {
        return (Date) get(5);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.deferment_unified_data.reason_code</code>. Код
     * причины отсрочки
     */
    public void setReasonCode(String value) {
        set(6, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.deferment_unified_data.reason_code</code>. Код
     * причины отсрочки
     */
    public String getReasonCode() {
        return (String) get(6);
    }

    /**
     * Setter for <code>ervu_dashboard.deferment_unified_data.active</code>.
     * Активна ли запись
     */
    public void setActive(Boolean value) {
        set(7, value);
    }

    /**
     * Getter for <code>ervu_dashboard.deferment_unified_data.active</code>.
     * Активна ли запись
     */
    public Boolean getActive() {
        return (Boolean) get(7);
    }

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

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

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

    /**
     * Create a detached DefermentUnifiedDataRecord
     */
    public DefermentUnifiedDataRecord() {
        super(DefermentUnifiedData.DEFERMENT_UNIFIED_DATA);
    }

    /**
     * Create a detached, initialised DefermentUnifiedDataRecord
     */
    public DefermentUnifiedDataRecord(Long id, UUID recruitId, String decisionNumber, String defermentType, Date startDate, Date endDate, String reasonCode, Boolean active) {
        super(DefermentUnifiedData.DEFERMENT_UNIFIED_DATA);

        setId(id);
        setRecruitId(recruitId);
        setDecisionNumber(decisionNumber);
        setDefermentType(defermentType);
        setStartDate(startDate);
        setEndDate(endDate);
        setReasonCode(reasonCode);
        setActive(active);
        resetChangedOnNotNull();
    }
}
