/*
 * This file is generated by jOOQ.
 */
package ru.micord.webbpm.ervu.business_metrics.db_beans.journal_log.tables.records;


import java.sql.Date;
import java.sql.Timestamp;

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

import ru.micord.webbpm.ervu.business_metrics.db_beans.journal_log.tables.ExternalSystemTransaction;


/**
 * Журналирование. Транзакции с внешними систиемами
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class ExternalSystemTransactionRecord extends UpdatableRecordImpl<ExternalSystemTransactionRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for
     * <code>journal_log.external_system_transaction.external_system_transaction_id</code>.
     */
    public void setExternalSystemTransactionId(Long value) {
        set(0, value);
    }

    /**
     * Getter for
     * <code>journal_log.external_system_transaction.external_system_transaction_id</code>.
     */
    public Long getExternalSystemTransactionId() {
        return (Long) get(0);
    }

    /**
     * Setter for
     * <code>journal_log.external_system_transaction.recruitment_id</code>.
     */
    public void setRecruitmentId(String value) {
        set(1, value);
    }

    /**
     * Getter for
     * <code>journal_log.external_system_transaction.recruitment_id</code>.
     */
    public String getRecruitmentId() {
        return (String) get(1);
    }

    /**
     * Setter for
     * <code>journal_log.external_system_transaction.update_date</code>.
     */
    public void setUpdateDate(Timestamp value) {
        set(2, value);
    }

    /**
     * Getter for
     * <code>journal_log.external_system_transaction.update_date</code>.
     */
    public Timestamp getUpdateDate() {
        return (Timestamp) get(2);
    }

    /**
     * Setter for
     * <code>journal_log.external_system_transaction.info_date</code>.
     */
    public void setInfoDate(Date value) {
        set(3, value);
    }

    /**
     * Getter for
     * <code>journal_log.external_system_transaction.info_date</code>.
     */
    public Date getInfoDate() {
        return (Date) get(3);
    }

    /**
     * Setter for <code>journal_log.external_system_transaction.count_in</code>.
     * вх сообщения
     */
    public void setCountIn(Long value) {
        set(4, value);
    }

    /**
     * Getter for <code>journal_log.external_system_transaction.count_in</code>.
     * вх сообщения
     */
    public Long getCountIn() {
        return (Long) get(4);
    }

    /**
     * Setter for
     * <code>journal_log.external_system_transaction.count_out</code>. исх
     * сообщения
     */
    public void setCountOut(Long value) {
        set(5, value);
    }

    /**
     * Getter for
     * <code>journal_log.external_system_transaction.count_out</code>. исх
     * сообщения
     */
    public Long getCountOut() {
        return (Long) get(5);
    }

    /**
     * Setter for
     * <code>journal_log.external_system_transaction.count_formed</code>.
     * сформированные сообщения
     */
    public void setCountFormed(Long value) {
        set(6, value);
    }

    /**
     * Getter for
     * <code>journal_log.external_system_transaction.count_formed</code>.
     * сформированные сообщения
     */
    public Long getCountFormed() {
        return (Long) get(6);
    }

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

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

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

    /**
     * Create a detached ExternalSystemTransactionRecord
     */
    public ExternalSystemTransactionRecord() {
        super(ExternalSystemTransaction.EXTERNAL_SYSTEM_TRANSACTION);
    }

    /**
     * Create a detached, initialised ExternalSystemTransactionRecord
     */
    public ExternalSystemTransactionRecord(Long externalSystemTransactionId, String recruitmentId, Timestamp updateDate, Date infoDate, Long countIn, Long countOut, Long countFormed) {
        super(ExternalSystemTransaction.EXTERNAL_SYSTEM_TRANSACTION);

        setExternalSystemTransactionId(externalSystemTransactionId);
        setRecruitmentId(recruitmentId);
        setUpdateDate(updateDate);
        setInfoDate(infoDate);
        setCountIn(countIn);
        setCountOut(countOut);
        setCountFormed(countFormed);
        resetChangedOnNotNull();
    }
}
