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


/**
 * Сведения о судимости
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class CitizenCriminalRecordRecord extends UpdatableRecordImpl<CitizenCriminalRecordRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_criminal_record.citizen_criminal_record_id</code>.
     */
    public void setCitizenCriminalRecordId(Long value) {
        set(0, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_criminal_record.citizen_criminal_record_id</code>.
     */
    public Long getCitizenCriminalRecordId() {
        return (Long) get(0);
    }

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

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

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_criminal_record.criminal_record_name</code>.
     * Наименование судимости
     */
    public void setCriminalRecordName(String value) {
        set(2, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_criminal_record.criminal_record_name</code>.
     * Наименование судимости
     */
    public String getCriminalRecordName() {
        return (String) get(2);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_criminal_record.end_date_criminal_record</code>.
     * Дата погашения или снятия судимости
     */
    public void setEndDateCriminalRecord(Date value) {
        set(3, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_criminal_record.end_date_criminal_record</code>.
     * Дата погашения или снятия судимости
     */
    public Date getEndDateCriminalRecord() {
        return (Date) get(3);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_criminal_record.grounds_expunging</code>.
     * Основание погашения или снятия судимости
     */
    public void setGroundsExpunging(String value) {
        set(4, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_criminal_record.grounds_expunging</code>.
     * Основание погашения или снятия судимости
     */
    public String getGroundsExpunging() {
        return (String) get(4);
    }

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

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

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

    /**
     * Create a detached CitizenCriminalRecordRecord
     */
    public CitizenCriminalRecordRecord() {
        super(CitizenCriminalRecord.CITIZEN_CRIMINAL_RECORD);
    }

    /**
     * Create a detached, initialised CitizenCriminalRecordRecord
     */
    public CitizenCriminalRecordRecord(Long citizenCriminalRecordId, UUID recruitId, String criminalRecordName, Date endDateCriminalRecord, String groundsExpunging) {
        super(CitizenCriminalRecord.CITIZEN_CRIMINAL_RECORD);

        setCitizenCriminalRecordId(citizenCriminalRecordId);
        setRecruitId(recruitId);
        setCriminalRecordName(criminalRecordName);
        setEndDateCriminalRecord(endDateCriminalRecord);
        setGroundsExpunging(groundsExpunging);
        resetChangedOnNotNull();
    }
}
