/*
 * This file is generated by jOOQ.
*/
package com.stubbornjava.cms.server.generated.tables.records;


import com.stubbornjava.cms.server.generated.tables.PostTable;

import java.time.LocalDate;
import java.time.LocalDateTime;

import javax.annotation.Generated;

import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record10;
import org.jooq.Row10;
import org.jooq.impl.UpdatableRecordImpl;


/**
 * This class is generated by jOOQ.
 */
@Generated(
    value = {
        "http://www.jooq.org",
        "jOOQ version:3.10.7"
    },
    comments = "This class is generated by jOOQ"
)
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class PostRecord extends UpdatableRecordImpl<PostRecord> implements Record10<Long, Integer, String, String, String, String, LocalDateTime, LocalDateTime, LocalDate, String> {

    private static final long serialVersionUID = 889636109;

    /**
     * Setter for <code>sj_cms.post.post_id</code>.
     */
    public void setPostId(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>sj_cms.post.post_id</code>.
     */
    public Long getPostId() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>sj_cms.post.app_id</code>.
     */
    public void setAppId(Integer value) {
        set(1, value);
    }

    /**
     * Getter for <code>sj_cms.post.app_id</code>.
     */
    public Integer getAppId() {
        return (Integer) get(1);
    }

    /**
     * Setter for <code>sj_cms.post.title</code>.
     */
    public void setTitle(String value) {
        set(2, value);
    }

    /**
     * Getter for <code>sj_cms.post.title</code>.
     */
    public String getTitle() {
        return (String) get(2);
    }

    /**
     * Setter for <code>sj_cms.post.slug</code>.
     */
    public void setSlug(String value) {
        set(3, value);
    }

    /**
     * Getter for <code>sj_cms.post.slug</code>.
     */
    public String getSlug() {
        return (String) get(3);
    }

    /**
     * Setter for <code>sj_cms.post.metaDesc</code>.
     */
    public void setMetadesc(String value) {
        set(4, value);
    }

    /**
     * Getter for <code>sj_cms.post.metaDesc</code>.
     */
    public String getMetadesc() {
        return (String) get(4);
    }

    /**
     * Setter for <code>sj_cms.post.draft_status</code>.
     */
    public void setDraftStatus(String value) {
        set(5, value);
    }

    /**
     * Getter for <code>sj_cms.post.draft_status</code>.
     */
    public String getDraftStatus() {
        return (String) get(5);
    }

    /**
     * Setter for <code>sj_cms.post.last_update_ts</code>.
     */
    public void setLastUpdateTs(LocalDateTime value) {
        set(6, value);
    }

    /**
     * Getter for <code>sj_cms.post.last_update_ts</code>.
     */
    public LocalDateTime getLastUpdateTs() {
        return (LocalDateTime) get(6);
    }

    /**
     * Setter for <code>sj_cms.post.date_created_ts</code>.
     */
    public void setDateCreatedTs(LocalDateTime value) {
        set(7, value);
    }

    /**
     * Getter for <code>sj_cms.post.date_created_ts</code>.
     */
    public LocalDateTime getDateCreatedTs() {
        return (LocalDateTime) get(7);
    }

    /**
     * Setter for <code>sj_cms.post.date_created</code>.
     */
    public void setDateCreated(LocalDate value) {
        set(8, value);
    }

    /**
     * Getter for <code>sj_cms.post.date_created</code>.
     */
    public LocalDate getDateCreated() {
        return (LocalDate) get(8);
    }

    /**
     * Setter for <code>sj_cms.post.content_template</code>.
     */
    public void setContentTemplate(String value) {
        set(9, value);
    }

    /**
     * Getter for <code>sj_cms.post.content_template</code>.
     */
    public String getContentTemplate() {
        return (String) get(9);
    }

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

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

    // -------------------------------------------------------------------------
    // Record10 type implementation
    // -------------------------------------------------------------------------

    /**
     * {@inheritDoc}
     */
    @Override
    public Row10<Long, Integer, String, String, String, String, LocalDateTime, LocalDateTime, LocalDate, String> fieldsRow() {
        return (Row10) super.fieldsRow();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Row10<Long, Integer, String, String, String, String, LocalDateTime, LocalDateTime, LocalDate, String> valuesRow() {
        return (Row10) super.valuesRow();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<Long> field1() {
        return PostTable.POST.POST_ID;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<Integer> field2() {
        return PostTable.POST.APP_ID;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<String> field3() {
        return PostTable.POST.TITLE;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<String> field4() {
        return PostTable.POST.SLUG;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<String> field5() {
        return PostTable.POST.METADESC;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<String> field6() {
        return PostTable.POST.DRAFT_STATUS;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<LocalDateTime> field7() {
        return PostTable.POST.LAST_UPDATE_TS;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<LocalDateTime> field8() {
        return PostTable.POST.DATE_CREATED_TS;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<LocalDate> field9() {
        return PostTable.POST.DATE_CREATED;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<String> field10() {
        return PostTable.POST.CONTENT_TEMPLATE;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Long component1() {
        return getPostId();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Integer component2() {
        return getAppId();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String component3() {
        return getTitle();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String component4() {
        return getSlug();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String component5() {
        return getMetadesc();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String component6() {
        return getDraftStatus();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public LocalDateTime component7() {
        return getLastUpdateTs();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public LocalDateTime component8() {
        return getDateCreatedTs();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public LocalDate component9() {
        return getDateCreated();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String component10() {
        return getContentTemplate();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Long value1() {
        return getPostId();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Integer value2() {
        return getAppId();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String value3() {
        return getTitle();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String value4() {
        return getSlug();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String value5() {
        return getMetadesc();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String value6() {
        return getDraftStatus();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public LocalDateTime value7() {
        return getLastUpdateTs();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public LocalDateTime value8() {
        return getDateCreatedTs();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public LocalDate value9() {
        return getDateCreated();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String value10() {
        return getContentTemplate();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public PostRecord value1(Long value) {
        setPostId(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public PostRecord value2(Integer value) {
        setAppId(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public PostRecord value3(String value) {
        setTitle(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public PostRecord value4(String value) {
        setSlug(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public PostRecord value5(String value) {
        setMetadesc(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public PostRecord value6(String value) {
        setDraftStatus(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public PostRecord value7(LocalDateTime value) {
        setLastUpdateTs(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public PostRecord value8(LocalDateTime value) {
        setDateCreatedTs(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public PostRecord value9(LocalDate value) {
        setDateCreated(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public PostRecord value10(String value) {
        setContentTemplate(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public PostRecord values(Long value1, Integer value2, String value3, String value4, String value5, String value6, LocalDateTime value7, LocalDateTime value8, LocalDate value9, String value10) {
        value1(value1);
        value2(value2);
        value3(value3);
        value4(value4);
        value5(value5);
        value6(value6);
        value7(value7);
        value8(value8);
        value9(value9);
        value10(value10);
        return this;
    }

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

    /**
     * Create a detached PostRecord
     */
    public PostRecord() {
        super(PostTable.POST);
    }

    /**
     * Create a detached, initialised PostRecord
     */
    public PostRecord(Long postId, Integer appId, String title, String slug, String metadesc, String draftStatus, LocalDateTime lastUpdateTs, LocalDateTime dateCreatedTs, LocalDate dateCreated, String contentTemplate) {
        super(PostTable.POST);

        set(0, postId);
        set(1, appId);
        set(2, title);
        set(3, slug);
        set(4, metadesc);
        set(5, draftStatus);
        set(6, lastUpdateTs);
        set(7, dateCreatedTs);
        set(8, dateCreated);
        set(9, contentTemplate);
    }
}
