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


/**
 * Журналирование. Операции пользователей по категориям/Анализ действий
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class UserOperationRecord extends UpdatableRecordImpl<UserOperationRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>journal_log.user_operation.user_operation_id</code>.
     */
    public void setUserOperationId(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>journal_log.user_operation.user_operation_id</code>.
     */
    public Long getUserOperationId() {
        return (Long) get(0);
    }

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

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

    /**
     * Setter for <code>journal_log.user_operation.user_id</code>.
     */
    public void setUserId(Long value) {
        set(2, value);
    }

    /**
     * Getter for <code>journal_log.user_operation.user_id</code>.
     */
    public Long getUserId() {
        return (Long) get(2);
    }

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

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

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

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

    /**
     * Setter for <code>journal_log.user_operation.info_source</code>. USER - в
     * разрезе пользователей, VK - в разрезе ВК
     */
    public void setInfoSource(String value) {
        set(5, value);
    }

    /**
     * Getter for <code>journal_log.user_operation.info_source</code>. USER - в
     * разрезе пользователей, VK - в разрезе ВК
     */
    public String getInfoSource() {
        return (String) get(5);
    }

    /**
     * Setter for <code>journal_log.user_operation.action_source</code>.
     * CATEGORY - Операции пользователей по категориям, ACTION_ANALYSIS - Анализ
     * действий
     */
    public void setActionSource(String value) {
        set(6, value);
    }

    /**
     * Getter for <code>journal_log.user_operation.action_source</code>.
     * CATEGORY - Операции пользователей по категориям, ACTION_ANALYSIS - Анализ
     * действий
     */
    public String getActionSource() {
        return (String) get(6);
    }

    /**
     * Setter for <code>journal_log.user_operation.count_1</code>.
     */
    public void setCount_1(Long value) {
        set(7, value);
    }

    /**
     * Getter for <code>journal_log.user_operation.count_1</code>.
     */
    public Long getCount_1() {
        return (Long) get(7);
    }

    /**
     * Setter for <code>journal_log.user_operation.count_2</code>.
     */
    public void setCount_2(Long value) {
        set(8, value);
    }

    /**
     * Getter for <code>journal_log.user_operation.count_2</code>.
     */
    public Long getCount_2() {
        return (Long) get(8);
    }

    /**
     * Setter for <code>journal_log.user_operation.count_3</code>.
     */
    public void setCount_3(Long value) {
        set(9, value);
    }

    /**
     * Getter for <code>journal_log.user_operation.count_3</code>.
     */
    public Long getCount_3() {
        return (Long) get(9);
    }

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

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

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

    /**
     * Create a detached UserOperationRecord
     */
    public UserOperationRecord() {
        super(UserOperation.USER_OPERATION);
    }

    /**
     * Create a detached, initialised UserOperationRecord
     */
    public UserOperationRecord(Long userOperationId, String recruitmentId, Long userId, Timestamp updateDate, Date infoDate, String infoSource, String actionSource, Long count_1, Long count_2, Long count_3) {
        super(UserOperation.USER_OPERATION);

        setUserOperationId(userOperationId);
        setRecruitmentId(recruitmentId);
        setUserId(userId);
        setUpdateDate(updateDate);
        setInfoDate(infoDate);
        setInfoSource(infoSource);
        setActionSource(actionSource);
        setCount_1(count_1);
        setCount_2(count_2);
        setCount_3(count_3);
        resetChangedOnNotNull();
    }
}
