/*
 * This file is generated by jOOQ.
 */
package ervu_dashboard.ervu_dashboard.db_beans.public_.tables.records;


import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.Subpoena;

import java.sql.Timestamp;
import java.util.UUID;

import org.jooq.Record1;
import org.jooq.impl.UpdatableRecordImpl;


/**
 * This class is generated by jOOQ.
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class SubpoenaRecord extends UpdatableRecordImpl<SubpoenaRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>public.subpoena.subpoena_id</code>.
     */
    public void setSubpoenaId(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>public.subpoena.subpoena_id</code>.
     */
    public Long getSubpoenaId() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>public.subpoena.series</code>.
     */
    public void setSeries(String value) {
        set(1, value);
    }

    /**
     * Getter for <code>public.subpoena.series</code>.
     */
    public String getSeries() {
        return (String) get(1);
    }

    /**
     * Setter for <code>public.subpoena.number</code>.
     */
    public void setNumber(String value) {
        set(2, value);
    }

    /**
     * Getter for <code>public.subpoena.number</code>.
     */
    public String getNumber() {
        return (String) get(2);
    }

    /**
     * Setter for <code>public.subpoena.id_ern</code>.
     */
    public void setIdErn(String value) {
        set(3, value);
    }

    /**
     * Getter for <code>public.subpoena.id_ern</code>.
     */
    public String getIdErn() {
        return (String) get(3);
    }

    /**
     * Setter for <code>public.subpoena.create_date</code>.
     */
    public void setCreateDate(Timestamp value) {
        set(4, value);
    }

    /**
     * Getter for <code>public.subpoena.create_date</code>.
     */
    public Timestamp getCreateDate() {
        return (Timestamp) get(4);
    }

    /**
     * Setter for <code>public.subpoena.visit_date</code>.
     */
    public void setVisitDate(Timestamp value) {
        set(5, value);
    }

    /**
     * Getter for <code>public.subpoena.visit_date</code>.
     */
    public Timestamp getVisitDate() {
        return (Timestamp) get(5);
    }

    /**
     * Setter for <code>public.subpoena.send_date</code>.
     */
    public void setSendDate(Timestamp value) {
        set(6, value);
    }

    /**
     * Getter for <code>public.subpoena.send_date</code>.
     */
    public Timestamp getSendDate() {
        return (Timestamp) get(6);
    }

    /**
     * Setter for <code>public.subpoena.reason_cancelled</code>.
     */
    public void setReasonCancelled(String value) {
        set(7, value);
    }

    /**
     * Getter for <code>public.subpoena.reason_cancelled</code>.
     */
    public String getReasonCancelled() {
        return (String) get(7);
    }

    /**
     * Setter for <code>public.subpoena.recruit_id</code>.
     */
    public void setRecruitId(UUID value) {
        set(8, value);
    }

    /**
     * Getter for <code>public.subpoena.recruit_id</code>.
     */
    public UUID getRecruitId() {
        return (UUID) get(8);
    }

    /**
     * Setter for <code>public.subpoena.department_id</code>.
     */
    public void setDepartmentId(UUID value) {
        set(9, value);
    }

    /**
     * Getter for <code>public.subpoena.department_id</code>.
     */
    public UUID getDepartmentId() {
        return (UUID) get(9);
    }

    /**
     * Setter for <code>public.subpoena.subpoena_status</code>.
     */
    public void setSubpoenaStatus(String value) {
        set(10, value);
    }

    /**
     * Getter for <code>public.subpoena.subpoena_status</code>.
     */
    public String getSubpoenaStatus() {
        return (String) get(10);
    }

    /**
     * Setter for <code>public.subpoena.subpoena_reason</code>.
     */
    public void setSubpoenaReason(String value) {
        set(11, value);
    }

    /**
     * Getter for <code>public.subpoena.subpoena_reason</code>.
     */
    public String getSubpoenaReason() {
        return (String) get(11);
    }

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

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

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

    /**
     * Create a detached SubpoenaRecord
     */
    public SubpoenaRecord() {
        super(Subpoena.SUBPOENA);
    }

    /**
     * Create a detached, initialised SubpoenaRecord
     */
    public SubpoenaRecord(Long subpoenaId, String series, String number, String idErn, Timestamp createDate, Timestamp visitDate, Timestamp sendDate, String reasonCancelled, UUID recruitId, UUID departmentId, String subpoenaStatus, String subpoenaReason) {
        super(Subpoena.SUBPOENA);

        setSubpoenaId(subpoenaId);
        setSeries(series);
        setNumber(number);
        setIdErn(idErn);
        setCreateDate(createDate);
        setVisitDate(visitDate);
        setSendDate(sendDate);
        setReasonCancelled(reasonCancelled);
        setRecruitId(recruitId);
        setDepartmentId(departmentId);
        setSubpoenaStatus(subpoenaStatus);
        setSubpoenaReason(subpoenaReason);
        resetChangedOnNotNull();
    }
}
