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


/**
 * сведения о супруге (бывшей/ем супруге) гражданина
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class CitizenSpouseRecord extends UpdatableRecordImpl<CitizenSpouseRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>ervu_dashboard.citizen_spouse.citizen_spouse_id</code>.
     */
    public void setCitizenSpouseId(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_spouse.citizen_spouse_id</code>.
     */
    public Long getCitizenSpouseId() {
        return (Long) get(0);
    }

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

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

    /**
     * Setter for <code>ervu_dashboard.citizen_spouse.kinship_type</code>. тип
     * родственной связи: супруг/бывший супруг
     */
    public void setKinshipType(String value) {
        set(2, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_spouse.kinship_type</code>. тип
     * родственной связи: супруг/бывший супруг
     */
    public String getKinshipType() {
        return (String) get(2);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_spouse.full_name</code>. ФИО
     */
    public void setFullName(String value) {
        set(3, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_spouse.full_name</code>. ФИО
     */
    public String getFullName() {
        return (String) get(3);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_spouse.birth_date</code>.
     */
    public void setBirthDate(Date value) {
        set(4, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_spouse.birth_date</code>.
     */
    public Date getBirthDate() {
        return (Date) get(4);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_spouse.death_az_number</code>.
     * номер актовой записи о смерти
     */
    public void setDeathAzNumber(String value) {
        set(5, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_spouse.death_az_number</code>.
     * номер актовой записи о смерти
     */
    public String getDeathAzNumber() {
        return (String) get(5);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_spouse.death_date</code>.
     */
    public void setDeathDate(Date value) {
        set(6, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_spouse.death_date</code>.
     */
    public Date getDeathDate() {
        return (Date) get(6);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_spouse.marriage_az_number</code>.
     * номер актовой записи о браке
     */
    public void setMarriageAzNumber(String value) {
        set(7, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_spouse.marriage_az_number</code>.
     * номер актовой записи о браке
     */
    public String getMarriageAzNumber() {
        return (String) get(7);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_spouse.marriage_date</code>.
     */
    public void setMarriageDate(Date value) {
        set(8, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_spouse.marriage_date</code>.
     */
    public Date getMarriageDate() {
        return (Date) get(8);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_spouse.divorce_az_number</code>.
     * номер актовой записи о расторжении брака
     */
    public void setDivorceAzNumber(String value) {
        set(9, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_spouse.divorce_az_number</code>.
     * номер актовой записи о расторжении брака
     */
    public String getDivorceAzNumber() {
        return (String) get(9);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_spouse.divorce_date</code>.
     */
    public void setDivorceDate(Date value) {
        set(10, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_spouse.divorce_date</code>.
     */
    public Date getDivorceDate() {
        return (Date) get(10);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_spouse.information_excluded</code>. сведения
     * о супруге исключены
     */
    public void setInformationExcluded(Boolean value) {
        set(11, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_spouse.information_excluded</code>. сведения
     * о супруге исключены
     */
    public Boolean getInformationExcluded() {
        return (Boolean) get(11);
    }

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

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

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

    /**
     * Create a detached CitizenSpouseRecord
     */
    public CitizenSpouseRecord() {
        super(CitizenSpouse.CITIZEN_SPOUSE);
    }

    /**
     * Create a detached, initialised CitizenSpouseRecord
     */
    public CitizenSpouseRecord(Long citizenSpouseId, UUID recruitId, String kinshipType, String fullName, Date birthDate, String deathAzNumber, Date deathDate, String marriageAzNumber, Date marriageDate, String divorceAzNumber, Date divorceDate, Boolean informationExcluded) {
        super(CitizenSpouse.CITIZEN_SPOUSE);

        setCitizenSpouseId(citizenSpouseId);
        setRecruitId(recruitId);
        setKinshipType(kinshipType);
        setFullName(fullName);
        setBirthDate(birthDate);
        setDeathAzNumber(deathAzNumber);
        setDeathDate(deathDate);
        setMarriageAzNumber(marriageAzNumber);
        setMarriageDate(marriageDate);
        setDivorceAzNumber(divorceAzNumber);
        setDivorceDate(divorceDate);
        setInformationExcluded(informationExcluded);
        resetChangedOnNotNull();
    }
}
