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


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

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

import ru.micord.ervu_dashboard.db_beans.forecast.tables.DefermentConscription;


/**
 * Отсрочка от призыва
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class DefermentConscriptionRecord extends UpdatableRecordImpl<DefermentConscriptionRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for
     * <code>forecast.deferment_conscription.deferment_conscription_id</code>.
     */
    public void setDefermentConscriptionId(Long value) {
        set(0, value);
    }

    /**
     * Getter for
     * <code>forecast.deferment_conscription.deferment_conscription_id</code>.
     */
    public Long getDefermentConscriptionId() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>forecast.deferment_conscription.recruitment_id</code>.
     */
    public void setRecruitmentId(UUID value) {
        set(1, value);
    }

    /**
     * Getter for <code>forecast.deferment_conscription.recruitment_id</code>.
     */
    public UUID getRecruitmentId() {
        return (UUID) get(1);
    }

    /**
     * Setter for <code>forecast.deferment_conscription.recording_date</code>.
     */
    public void setRecordingDate(Date value) {
        set(2, value);
    }

    /**
     * Getter for <code>forecast.deferment_conscription.recording_date</code>.
     */
    public Date getRecordingDate() {
        return (Date) get(2);
    }

    /**
     * Setter for <code>forecast.deferment_conscription.schema</code>.
     */
    public void setSchema(String value) {
        set(3, value);
    }

    /**
     * Getter for <code>forecast.deferment_conscription.schema</code>.
     */
    public String getSchema() {
        return (String) get(3);
    }

    /**
     * Setter for
     * <code>forecast.deferment_conscription.eligible_deferment</code>. Имеют
     * право на отсрочку
     */
    public void setEligibleDeferment(BigDecimal value) {
        set(4, value);
    }

    /**
     * Getter for
     * <code>forecast.deferment_conscription.eligible_deferment</code>. Имеют
     * право на отсрочку
     */
    public BigDecimal getEligibleDeferment() {
        return (BigDecimal) get(4);
    }

    /**
     * Setter for
     * <code>forecast.deferment_conscription.deferment_granted</code>.
     * Предоставлена отсрочка
     */
    public void setDefermentGranted(BigDecimal value) {
        set(5, value);
    }

    /**
     * Getter for
     * <code>forecast.deferment_conscription.deferment_granted</code>.
     * Предоставлена отсрочка
     */
    public BigDecimal getDefermentGranted() {
        return (BigDecimal) get(5);
    }

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

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

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

    /**
     * Create a detached DefermentConscriptionRecord
     */
    public DefermentConscriptionRecord() {
        super(DefermentConscription.DEFERMENT_CONSCRIPTION);
    }

    /**
     * Create a detached, initialised DefermentConscriptionRecord
     */
    public DefermentConscriptionRecord(Long defermentConscriptionId, UUID recruitmentId, Date recordingDate, String schema, BigDecimal eligibleDeferment, BigDecimal defermentGranted) {
        super(DefermentConscription.DEFERMENT_CONSCRIPTION);

        setDefermentConscriptionId(defermentConscriptionId);
        setRecruitmentId(recruitmentId);
        setRecordingDate(recordingDate);
        setSchema(schema);
        setEligibleDeferment(eligibleDeferment);
        setDefermentGranted(defermentGranted);
        resetChangedOnNotNull();
    }
}
