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


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

    private static final long serialVersionUID = 1L;

    /**
     * Setter for
     * <code>ervu_dashboard.citizenship_foreign.citizenship_foreign_id</code>.
     */
    public void setCitizenshipForeignId(Long value) {
        set(0, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizenship_foreign.citizenship_foreign_id</code>.
     */
    public Long getCitizenshipForeignId() {
        return (Long) get(0);
    }

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

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

    /**
     * Setter for <code>ervu_dashboard.citizenship_foreign.country_name</code>.
     * наименование государства
     */
    public void setCountryName(String value) {
        set(2, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizenship_foreign.country_name</code>.
     * наименование государства
     */
    public String getCountryName() {
        return (String) get(2);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizenship_foreign.residense_right_basis</code>.
     * основание получения права на постоянное проживание
     */
    public void setResidenseRightBasis(String value) {
        set(3, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizenship_foreign.residense_right_basis</code>.
     * основание получения права на постоянное проживание
     */
    public String getResidenseRightBasis() {
        return (String) get(3);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizenship_foreign.residense_right_date</code>.
     * дата возникновения права на постоянное проживание
     */
    public void setResidenseRightDate(Date value) {
        set(4, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizenship_foreign.residense_right_date</code>.
     * дата возникновения права на постоянное проживание
     */
    public Date getResidenseRightDate() {
        return (Date) get(4);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizenship_foreign.citizenship_basis</code>.
     * основание получения иностранного гражданства
     */
    public void setCitizenshipBasis(String value) {
        set(5, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizenship_foreign.citizenship_basis</code>.
     * основание получения иностранного гражданства
     */
    public String getCitizenshipBasis() {
        return (String) get(5);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizenship_foreign.citizenship_date</code>. дата
     * получения иностранного гражданства
     */
    public void setCitizenshipDate(Date value) {
        set(6, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizenship_foreign.citizenship_date</code>. дата
     * получения иностранного гражданства
     */
    public Date getCitizenshipDate() {
        return (Date) get(6);
    }

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

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

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

    /**
     * Create a detached CitizenshipForeignRecord
     */
    public CitizenshipForeignRecord() {
        super(CitizenshipForeign.CITIZENSHIP_FOREIGN);
    }

    /**
     * Create a detached, initialised CitizenshipForeignRecord
     */
    public CitizenshipForeignRecord(Long citizenshipForeignId, UUID recruitId, String countryName, String residenseRightBasis, Date residenseRightDate, String citizenshipBasis, Date citizenshipDate) {
        super(CitizenshipForeign.CITIZENSHIP_FOREIGN);

        setCitizenshipForeignId(citizenshipForeignId);
        setRecruitId(recruitId);
        setCountryName(countryName);
        setResidenseRightBasis(residenseRightBasis);
        setResidenseRightDate(residenseRightDate);
        setCitizenshipBasis(citizenshipBasis);
        setCitizenshipDate(citizenshipDate);
        resetChangedOnNotNull();
    }
}
