/*
 * This file is generated by jOOQ.
*/
package de.vorb.npmstat.persistence.jooq.tables.records;


import de.vorb.npmstat.persistence.jooq.tables.ChunkRelationSize;

import javax.annotation.Generated;

import org.jooq.Field;
import org.jooq.Record10;
import org.jooq.Row10;
import org.jooq.impl.TableRecordImpl;


/**
 * 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 ChunkRelationSizeRecord extends TableRecordImpl<ChunkRelationSizeRecord> implements Record10<Integer, String, String[], Object[], String[], Object[], Long, Long, Long, Long> {

    private static final long serialVersionUID = -329673155;

    /**
     * Setter for <code>public.chunk_relation_size.chunk_id</code>.
     */
    public ChunkRelationSizeRecord setChunkId(Integer value) {
        set(0, value);
        return this;
    }

    /**
     * Getter for <code>public.chunk_relation_size.chunk_id</code>.
     */
    public Integer getChunkId() {
        return (Integer) get(0);
    }

    /**
     * Setter for <code>public.chunk_relation_size.chunk_table</code>.
     */
    public ChunkRelationSizeRecord setChunkTable(String value) {
        set(1, value);
        return this;
    }

    /**
     * Getter for <code>public.chunk_relation_size.chunk_table</code>.
     */
    public String getChunkTable() {
        return (String) get(1);
    }

    /**
     * Setter for <code>public.chunk_relation_size.partitioning_columns</code>.
     */
    public ChunkRelationSizeRecord setPartitioningColumns(String... value) {
        set(2, value);
        return this;
    }

    /**
     * Getter for <code>public.chunk_relation_size.partitioning_columns</code>.
     */
    public String[] getPartitioningColumns() {
        return (String[]) get(2);
    }

    /**
     * Setter for <code>public.chunk_relation_size.partitioning_column_types</code>.
     */
    public ChunkRelationSizeRecord setPartitioningColumnTypes(Object... value) {
        set(3, value);
        return this;
    }

    /**
     * Getter for <code>public.chunk_relation_size.partitioning_column_types</code>.
     */
    public Object[] getPartitioningColumnTypes() {
        return (Object[]) get(3);
    }

    /**
     * Setter for <code>public.chunk_relation_size.partitioning_hash_functions</code>.
     */
    public ChunkRelationSizeRecord setPartitioningHashFunctions(String... value) {
        set(4, value);
        return this;
    }

    /**
     * Getter for <code>public.chunk_relation_size.partitioning_hash_functions</code>.
     */
    public String[] getPartitioningHashFunctions() {
        return (String[]) get(4);
    }

    /**
     * Setter for <code>public.chunk_relation_size.ranges</code>.
     */
    public ChunkRelationSizeRecord setRanges(Object... value) {
        set(5, value);
        return this;
    }

    /**
     * Getter for <code>public.chunk_relation_size.ranges</code>.
     */
    public Object[] getRanges() {
        return (Object[]) get(5);
    }

    /**
     * Setter for <code>public.chunk_relation_size.table_bytes</code>.
     */
    public ChunkRelationSizeRecord setTableBytes(Long value) {
        set(6, value);
        return this;
    }

    /**
     * Getter for <code>public.chunk_relation_size.table_bytes</code>.
     */
    public Long getTableBytes() {
        return (Long) get(6);
    }

    /**
     * Setter for <code>public.chunk_relation_size.index_bytes</code>.
     */
    public ChunkRelationSizeRecord setIndexBytes(Long value) {
        set(7, value);
        return this;
    }

    /**
     * Getter for <code>public.chunk_relation_size.index_bytes</code>.
     */
    public Long getIndexBytes() {
        return (Long) get(7);
    }

    /**
     * Setter for <code>public.chunk_relation_size.toast_bytes</code>.
     */
    public ChunkRelationSizeRecord setToastBytes(Long value) {
        set(8, value);
        return this;
    }

    /**
     * Getter for <code>public.chunk_relation_size.toast_bytes</code>.
     */
    public Long getToastBytes() {
        return (Long) get(8);
    }

    /**
     * Setter for <code>public.chunk_relation_size.total_bytes</code>.
     */
    public ChunkRelationSizeRecord setTotalBytes(Long value) {
        set(9, value);
        return this;
    }

    /**
     * Getter for <code>public.chunk_relation_size.total_bytes</code>.
     */
    public Long getTotalBytes() {
        return (Long) get(9);
    }

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

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

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

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<Integer> field1() {
        return ChunkRelationSize.CHUNK_RELATION_SIZE.CHUNK_ID;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<String> field2() {
        return ChunkRelationSize.CHUNK_RELATION_SIZE.CHUNK_TABLE;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<String[]> field3() {
        return ChunkRelationSize.CHUNK_RELATION_SIZE.PARTITIONING_COLUMNS;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<Object[]> field4() {
        return ChunkRelationSize.CHUNK_RELATION_SIZE.PARTITIONING_COLUMN_TYPES;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<String[]> field5() {
        return ChunkRelationSize.CHUNK_RELATION_SIZE.PARTITIONING_HASH_FUNCTIONS;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<Object[]> field6() {
        return ChunkRelationSize.CHUNK_RELATION_SIZE.RANGES;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<Long> field7() {
        return ChunkRelationSize.CHUNK_RELATION_SIZE.TABLE_BYTES;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<Long> field8() {
        return ChunkRelationSize.CHUNK_RELATION_SIZE.INDEX_BYTES;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<Long> field9() {
        return ChunkRelationSize.CHUNK_RELATION_SIZE.TOAST_BYTES;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<Long> field10() {
        return ChunkRelationSize.CHUNK_RELATION_SIZE.TOTAL_BYTES;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Integer component1() {
        return getChunkId();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String component2() {
        return getChunkTable();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String[] component3() {
        return getPartitioningColumns();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Object[] component4() {
        return getPartitioningColumnTypes();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String[] component5() {
        return getPartitioningHashFunctions();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Object[] component6() {
        return getRanges();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Long component7() {
        return getTableBytes();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Long component8() {
        return getIndexBytes();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Long component9() {
        return getToastBytes();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Long component10() {
        return getTotalBytes();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Integer value1() {
        return getChunkId();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String value2() {
        return getChunkTable();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String[] value3() {
        return getPartitioningColumns();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Object[] value4() {
        return getPartitioningColumnTypes();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String[] value5() {
        return getPartitioningHashFunctions();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Object[] value6() {
        return getRanges();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Long value7() {
        return getTableBytes();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Long value8() {
        return getIndexBytes();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Long value9() {
        return getToastBytes();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Long value10() {
        return getTotalBytes();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ChunkRelationSizeRecord value1(Integer value) {
        setChunkId(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ChunkRelationSizeRecord value2(String value) {
        setChunkTable(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ChunkRelationSizeRecord value3(String... value) {
        setPartitioningColumns(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ChunkRelationSizeRecord value4(Object... value) {
        setPartitioningColumnTypes(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ChunkRelationSizeRecord value5(String... value) {
        setPartitioningHashFunctions(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ChunkRelationSizeRecord value6(Object... value) {
        setRanges(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ChunkRelationSizeRecord value7(Long value) {
        setTableBytes(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ChunkRelationSizeRecord value8(Long value) {
        setIndexBytes(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ChunkRelationSizeRecord value9(Long value) {
        setToastBytes(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ChunkRelationSizeRecord value10(Long value) {
        setTotalBytes(value);
        return this;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public ChunkRelationSizeRecord values(Integer value1, String value2, String[] value3, Object[] value4, String[] value5, Object[] value6, Long value7, Long value8, Long value9, Long 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 ChunkRelationSizeRecord
     */
    public ChunkRelationSizeRecord() {
        super(ChunkRelationSize.CHUNK_RELATION_SIZE);
    }

    /**
     * Create a detached, initialised ChunkRelationSizeRecord
     */
    public ChunkRelationSizeRecord(Integer chunkId, String chunkTable, String[] partitioningColumns, Object[] partitioningColumnTypes, String[] partitioningHashFunctions, Object[] ranges, Long tableBytes, Long indexBytes, Long toastBytes, Long totalBytes) {
        super(ChunkRelationSize.CHUNK_RELATION_SIZE);

        set(0, chunkId);
        set(1, chunkTable);
        set(2, partitioningColumns);
        set(3, partitioningColumnTypes);
        set(4, partitioningHashFunctions);
        set(5, ranges);
        set(6, tableBytes);
        set(7, indexBytes);
        set(8, toastBytes);
        set(9, totalBytes);
    }
}
