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


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

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>ervu_dashboard.prosecution.prosecution_id</code>.
     */
    public void setProsecutionId(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>ervu_dashboard.prosecution.prosecution_id</code>.
     */
    public Long getProsecutionId() {
        return (Long) get(0);
    }

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

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

    /**
     * Setter for <code>ervu_dashboard.prosecution.kind</code>. вид уголовного
     * преследования
     */
    public void setKind(String value) {
        set(2, value);
    }

    /**
     * Getter for <code>ervu_dashboard.prosecution.kind</code>. вид уголовного
     * преследования
     */
    public String getKind() {
        return (String) get(2);
    }

    /**
     * Setter for <code>ervu_dashboard.prosecution.create_date</code>. дата
     * возбуждения уголовного дела
     */
    public void setCreateDate(Date value) {
        set(3, value);
    }

    /**
     * Getter for <code>ervu_dashboard.prosecution.create_date</code>. дата
     * возбуждения уголовного дела
     */
    public Date getCreateDate() {
        return (Date) get(3);
    }

    /**
     * Setter for <code>ervu_dashboard.prosecution.close_date</code>. дата
     * прекращения уголовного преследования
     */
    public void setCloseDate(Date value) {
        set(4, value);
    }

    /**
     * Getter for <code>ervu_dashboard.prosecution.close_date</code>. дата
     * прекращения уголовного преследования
     */
    public Date getCloseDate() {
        return (Date) get(4);
    }

    /**
     * Setter for <code>ervu_dashboard.prosecution.authority_name</code>.
     * наименование органа, принявшего решение
     */
    public void setAuthorityName(String value) {
        set(5, value);
    }

    /**
     * Getter for <code>ervu_dashboard.prosecution.authority_name</code>.
     * наименование органа, принявшего решение
     */
    public String getAuthorityName() {
        return (String) get(5);
    }

    /**
     * Setter for <code>ervu_dashboard.prosecution.law_point</code>. пункт,
     * часть, статья УК РФ
     */
    public void setLawPoint(String value) {
        set(6, value);
    }

    /**
     * Getter for <code>ervu_dashboard.prosecution.law_point</code>. пункт,
     * часть, статья УК РФ
     */
    public String getLawPoint() {
        return (String) get(6);
    }

    /**
     * Setter for <code>ervu_dashboard.prosecution.termination_basis</code>.
     * основание прекращения уголовного преследования
     */
    public void setTerminationBasis(String value) {
        set(7, value);
    }

    /**
     * Getter for <code>ervu_dashboard.prosecution.termination_basis</code>.
     * основание прекращения уголовного преследования
     */
    public String getTerminationBasis() {
        return (String) get(7);
    }

    /**
     * Setter for <code>ervu_dashboard.prosecution.transfer_to_court</code>.
     * признак передачи в суд уголовного дела в отношении гражданина
     */
    public void setTransferToCourt(Boolean value) {
        set(8, value);
    }

    /**
     * Getter for <code>ervu_dashboard.prosecution.transfer_to_court</code>.
     * признак передачи в суд уголовного дела в отношении гражданина
     */
    public Boolean getTransferToCourt() {
        return (Boolean) get(8);
    }

    /**
     * Setter for <code>ervu_dashboard.prosecution.case_number</code>. номер
     * уголовного дела (предварительный)
     */
    public void setCaseNumber(String value) {
        set(9, value);
    }

    /**
     * Getter for <code>ervu_dashboard.prosecution.case_number</code>. номер
     * уголовного дела (предварительный)
     */
    public String getCaseNumber() {
        return (String) get(9);
    }

    /**
     * Setter for <code>ervu_dashboard.prosecution.case_number_court</code>.
     * номер уголовного дела (судебный)
     */
    public void setCaseNumberCourt(String value) {
        set(10, value);
    }

    /**
     * Getter for <code>ervu_dashboard.prosecution.case_number_court</code>.
     * номер уголовного дела (судебный)
     */
    public String getCaseNumberCourt() {
        return (String) get(10);
    }

    /**
     * Setter for <code>ervu_dashboard.prosecution.reclassification</code>.
     * сведения о переквалификации деяния
     */
    public void setReclassification(String value) {
        set(11, value);
    }

    /**
     * Getter for <code>ervu_dashboard.prosecution.reclassification</code>.
     * сведения о переквалификации деяния
     */
    public String getReclassification() {
        return (String) get(11);
    }

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

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

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

    /**
     * Create a detached ProsecutionRecord
     */
    public ProsecutionRecord() {
        super(Prosecution.PROSECUTION);
    }

    /**
     * Create a detached, initialised ProsecutionRecord
     */
    public ProsecutionRecord(Long prosecutionId, UUID recruitId, String kind, Date createDate, Date closeDate, String authorityName, String lawPoint, String terminationBasis, Boolean transferToCourt, String caseNumber, String caseNumberCourt, String reclassification) {
        super(Prosecution.PROSECUTION);

        setProsecutionId(prosecutionId);
        setRecruitId(recruitId);
        setKind(kind);
        setCreateDate(createDate);
        setCloseDate(closeDate);
        setAuthorityName(authorityName);
        setLawPoint(lawPoint);
        setTerminationBasis(terminationBasis);
        setTransferToCourt(transferToCourt);
        setCaseNumber(caseNumber);
        setCaseNumberCourt(caseNumberCourt);
        setReclassification(reclassification);
        resetChangedOnNotNull();
    }
}
