/*
 * This file is generated by jOOQ.
 */
package com.databasir.dao.tables.records;


import com.databasir.dao.tables.DocumentRemark;
import com.databasir.dao.tables.pojos.DocumentRemarkPojo;

import java.time.LocalDateTime;

import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record7;
import org.jooq.Row7;
import org.jooq.impl.UpdatableRecordImpl;


/**
 * This class is generated by jOOQ.
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class DocumentRemarkRecord extends UpdatableRecordImpl<DocumentRemarkRecord> implements Record7<Integer, String, Integer, Integer, String, String, LocalDateTime> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>databasir.document_remark.id</code>.
     */
    public void setId(Integer value) {
        set(0, value);
    }

    /**
     * Getter for <code>databasir.document_remark.id</code>.
     */
    public Integer getId() {
        return (Integer) get(0);
    }

    /**
     * Setter for <code>databasir.document_remark.remark</code>.
     */
    public void setRemark(String value) {
        set(1, value);
    }

    /**
     * Getter for <code>databasir.document_remark.remark</code>.
     */
    public String getRemark() {
        return (String) get(1);
    }

    /**
     * Setter for <code>databasir.document_remark.user_id</code>. user.id
     */
    public void setUserId(Integer value) {
        set(2, value);
    }

    /**
     * Getter for <code>databasir.document_remark.user_id</code>. user.id
     */
    public Integer getUserId() {
        return (Integer) get(2);
    }

    /**
     * Setter for <code>databasir.document_remark.project_id</code>.
     */
    public void setProjectId(Integer value) {
        set(3, value);
    }

    /**
     * Getter for <code>databasir.document_remark.project_id</code>.
     */
    public Integer getProjectId() {
        return (Integer) get(3);
    }

    /**
     * Setter for <code>databasir.document_remark.table_name</code>.
     */
    public void setTableName(String value) {
        set(4, value);
    }

    /**
     * Getter for <code>databasir.document_remark.table_name</code>.
     */
    public String getTableName() {
        return (String) get(4);
    }

    /**
     * Setter for <code>databasir.document_remark.column_name</code>.
     */
    public void setColumnName(String value) {
        set(5, value);
    }

    /**
     * Getter for <code>databasir.document_remark.column_name</code>.
     */
    public String getColumnName() {
        return (String) get(5);
    }

    /**
     * Setter for <code>databasir.document_remark.create_at</code>.
     */
    public void setCreateAt(LocalDateTime value) {
        set(6, value);
    }

    /**
     * Getter for <code>databasir.document_remark.create_at</code>.
     */
    public LocalDateTime getCreateAt() {
        return (LocalDateTime) get(6);
    }

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

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

    // -------------------------------------------------------------------------
    // Record7 type implementation
    // -------------------------------------------------------------------------

    @Override
    public Row7<Integer, String, Integer, Integer, String, String, LocalDateTime> fieldsRow() {
        return (Row7) super.fieldsRow();
    }

    @Override
    public Row7<Integer, String, Integer, Integer, String, String, LocalDateTime> valuesRow() {
        return (Row7) super.valuesRow();
    }

    @Override
    public Field<Integer> field1() {
        return DocumentRemark.DOCUMENT_REMARK.ID;
    }

    @Override
    public Field<String> field2() {
        return DocumentRemark.DOCUMENT_REMARK.REMARK;
    }

    @Override
    public Field<Integer> field3() {
        return DocumentRemark.DOCUMENT_REMARK.USER_ID;
    }

    @Override
    public Field<Integer> field4() {
        return DocumentRemark.DOCUMENT_REMARK.PROJECT_ID;
    }

    @Override
    public Field<String> field5() {
        return DocumentRemark.DOCUMENT_REMARK.TABLE_NAME;
    }

    @Override
    public Field<String> field6() {
        return DocumentRemark.DOCUMENT_REMARK.COLUMN_NAME;
    }

    @Override
    public Field<LocalDateTime> field7() {
        return DocumentRemark.DOCUMENT_REMARK.CREATE_AT;
    }

    @Override
    public Integer component1() {
        return getId();
    }

    @Override
    public String component2() {
        return getRemark();
    }

    @Override
    public Integer component3() {
        return getUserId();
    }

    @Override
    public Integer component4() {
        return getProjectId();
    }

    @Override
    public String component5() {
        return getTableName();
    }

    @Override
    public String component6() {
        return getColumnName();
    }

    @Override
    public LocalDateTime component7() {
        return getCreateAt();
    }

    @Override
    public Integer value1() {
        return getId();
    }

    @Override
    public String value2() {
        return getRemark();
    }

    @Override
    public Integer value3() {
        return getUserId();
    }

    @Override
    public Integer value4() {
        return getProjectId();
    }

    @Override
    public String value5() {
        return getTableName();
    }

    @Override
    public String value6() {
        return getColumnName();
    }

    @Override
    public LocalDateTime value7() {
        return getCreateAt();
    }

    @Override
    public DocumentRemarkRecord value1(Integer value) {
        setId(value);
        return this;
    }

    @Override
    public DocumentRemarkRecord value2(String value) {
        setRemark(value);
        return this;
    }

    @Override
    public DocumentRemarkRecord value3(Integer value) {
        setUserId(value);
        return this;
    }

    @Override
    public DocumentRemarkRecord value4(Integer value) {
        setProjectId(value);
        return this;
    }

    @Override
    public DocumentRemarkRecord value5(String value) {
        setTableName(value);
        return this;
    }

    @Override
    public DocumentRemarkRecord value6(String value) {
        setColumnName(value);
        return this;
    }

    @Override
    public DocumentRemarkRecord value7(LocalDateTime value) {
        setCreateAt(value);
        return this;
    }

    @Override
    public DocumentRemarkRecord values(Integer value1, String value2, Integer value3, Integer value4, String value5, String value6, LocalDateTime value7) {
        value1(value1);
        value2(value2);
        value3(value3);
        value4(value4);
        value5(value5);
        value6(value6);
        value7(value7);
        return this;
    }

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

    /**
     * Create a detached DocumentRemarkRecord
     */
    public DocumentRemarkRecord() {
        super(DocumentRemark.DOCUMENT_REMARK);
    }

    /**
     * Create a detached, initialised DocumentRemarkRecord
     */
    public DocumentRemarkRecord(Integer id, String remark, Integer userId, Integer projectId, String tableName, String columnName, LocalDateTime createAt) {
        super(DocumentRemark.DOCUMENT_REMARK);

        setId(id);
        setRemark(remark);
        setUserId(userId);
        setProjectId(projectId);
        setTableName(tableName);
        setColumnName(columnName);
        setCreateAt(createAt);
    }

    /**
     * Create a detached, initialised DocumentRemarkRecord
     */
    public DocumentRemarkRecord(DocumentRemarkPojo value) {
        super(DocumentRemark.DOCUMENT_REMARK);

        if (value != null) {
            setId(value.getId());
            setRemark(value.getRemark());
            setUserId(value.getUserId());
            setProjectId(value.getProjectId());
            setTableName(value.getTableName());
            setColumnName(value.getColumnName());
            setCreateAt(value.getCreateAt());
        }
    }
}
