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


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

import org.jooq.Record3;
import org.jooq.impl.UpdatableRecordImpl;

import ru.micord.ervu_dashboard.db_beans.appeals.tables.MainProfile;


/**
 * Основной профиль уровень РФ
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class MainProfileRecord extends UpdatableRecordImpl<MainProfileRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>appeals.main_profile.id_main_profile</code>.
     */
    public void setIdMainProfile(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>appeals.main_profile.id_main_profile</code>.
     */
    public Long getIdMainProfile() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>appeals.main_profile.gender</code>. Пол
     */
    public void setGender(String value) {
        set(1, value);
    }

    /**
     * Getter for <code>appeals.main_profile.gender</code>. Пол
     */
    public String getGender() {
        return (String) get(1);
    }

    /**
     * Setter for <code>appeals.main_profile.age</code>. Возраст
     */
    public void setAge(Integer value) {
        set(2, value);
    }

    /**
     * Getter for <code>appeals.main_profile.age</code>. Возраст
     */
    public Integer getAge() {
        return (Integer) get(2);
    }

    /**
     * Setter for <code>appeals.main_profile.child_min_18</code>. Дети до 18 лет
     */
    public void setChildMin_18(Integer value) {
        set(3, value);
    }

    /**
     * Getter for <code>appeals.main_profile.child_min_18</code>. Дети до 18 лет
     */
    public Integer getChildMin_18() {
        return (Integer) get(3);
    }

    /**
     * Setter for <code>appeals.main_profile.education</code>. Образование
     */
    public void setEducation(String value) {
        set(4, value);
    }

    /**
     * Getter for <code>appeals.main_profile.education</code>. Образование
     */
    public String getEducation() {
        return (String) get(4);
    }

    /**
     * Setter for <code>appeals.main_profile.employment</code>. Занятость
     */
    public void setEmployment(String value) {
        set(5, value);
    }

    /**
     * Getter for <code>appeals.main_profile.employment</code>. Занятость
     */
    public String getEmployment() {
        return (String) get(5);
    }

    /**
     * Setter for <code>appeals.main_profile.recording_date</code>. Дата записи
     */
    public void setRecordingDate(Date value) {
        set(6, value);
    }

    /**
     * Getter for <code>appeals.main_profile.recording_date</code>. Дата записи
     */
    public Date getRecordingDate() {
        return (Date) get(6);
    }

    /**
     * Setter for <code>appeals.main_profile.recruitment_id</code>.
     */
    public void setRecruitmentId(UUID value) {
        set(7, value);
    }

    /**
     * Getter for <code>appeals.main_profile.recruitment_id</code>.
     */
    public UUID getRecruitmentId() {
        return (UUID) get(7);
    }

    /**
     * Setter for <code>appeals.main_profile.schema</code>. 'Department' -
     * обычный ВК, 'Organization' - главный ВК региона, 'Region' - главный ВК
     * военного округа,
     *         'Ministry' - уровень РФ, 'REG_LVL' - сумма всех ВК региона,
     * 'MD_LVL' - сумма всех ВК ВО, 'Country' - все ВК РФ
     */
    public void setSchema(String value) {
        set(8, value);
    }

    /**
     * Getter for <code>appeals.main_profile.schema</code>. 'Department' -
     * обычный ВК, 'Organization' - главный ВК региона, 'Region' - главный ВК
     * военного округа,
     *         'Ministry' - уровень РФ, 'REG_LVL' - сумма всех ВК региона,
     * 'MD_LVL' - сумма всех ВК ВО, 'Country' - все ВК РФ
     */
    public String getSchema() {
        return (String) get(8);
    }

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

    @Override
    public Record3<UUID, Date, String> key() {
        return (Record3) super.key();
    }

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

    /**
     * Create a detached MainProfileRecord
     */
    public MainProfileRecord() {
        super(MainProfile.MAIN_PROFILE);
    }

    /**
     * Create a detached, initialised MainProfileRecord
     */
    public MainProfileRecord(Long idMainProfile, String gender, Integer age, Integer childMin_18, String education, String employment, Date recordingDate, UUID recruitmentId, String schema) {
        super(MainProfile.MAIN_PROFILE);

        setIdMainProfile(idMainProfile);
        setGender(gender);
        setAge(age);
        setChildMin_18(childMin_18);
        setEducation(education);
        setEmployment(employment);
        setRecordingDate(recordingDate);
        setRecruitmentId(recruitmentId);
        setSchema(schema);
        resetChangedOnNotNull();
    }
}
