/**
 * This class is generated by jOOQ
 */
package org.openforis.collect.persistence.jooq.tables.records;


import java.sql.Timestamp;

import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record7;
import org.jooq.Row7;
import org.jooq.impl.UpdatableRecordImpl;
import org.openforis.collect.persistence.jooq.tables.OfcDataQueryGroup;


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

	private static final long serialVersionUID = 480419773;

	/**
	 * Setter for <code>collect.ofc_data_query_group.id</code>.
	 */
	public void setId(Integer value) {
		setValue(0, value);
	}

	/**
	 * Getter for <code>collect.ofc_data_query_group.id</code>.
	 */
	public Integer getId() {
		return (Integer) getValue(0);
	}

	/**
	 * Setter for <code>collect.ofc_data_query_group.uuid</code>.
	 */
	public void setUuid(String value) {
		setValue(1, value);
	}

	/**
	 * Getter for <code>collect.ofc_data_query_group.uuid</code>.
	 */
	public String getUuid() {
		return (String) getValue(1);
	}

	/**
	 * Setter for <code>collect.ofc_data_query_group.survey_id</code>.
	 */
	public void setSurveyId(Integer value) {
		setValue(2, value);
	}

	/**
	 * Getter for <code>collect.ofc_data_query_group.survey_id</code>.
	 */
	public Integer getSurveyId() {
		return (Integer) getValue(2);
	}

	/**
	 * Setter for <code>collect.ofc_data_query_group.title</code>.
	 */
	public void setTitle(String value) {
		setValue(3, value);
	}

	/**
	 * Getter for <code>collect.ofc_data_query_group.title</code>.
	 */
	public String getTitle() {
		return (String) getValue(3);
	}

	/**
	 * Setter for <code>collect.ofc_data_query_group.description</code>.
	 */
	public void setDescription(String value) {
		setValue(4, value);
	}

	/**
	 * Getter for <code>collect.ofc_data_query_group.description</code>.
	 */
	public String getDescription() {
		return (String) getValue(4);
	}

	/**
	 * Setter for <code>collect.ofc_data_query_group.creation_date</code>.
	 */
	public void setCreationDate(Timestamp value) {
		setValue(5, value);
	}

	/**
	 * Getter for <code>collect.ofc_data_query_group.creation_date</code>.
	 */
	public Timestamp getCreationDate() {
		return (Timestamp) getValue(5);
	}

	/**
	 * Setter for <code>collect.ofc_data_query_group.modified_date</code>.
	 */
	public void setModifiedDate(Timestamp value) {
		setValue(6, value);
	}

	/**
	 * Getter for <code>collect.ofc_data_query_group.modified_date</code>.
	 */
	public Timestamp getModifiedDate() {
		return (Timestamp) getValue(6);
	}

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

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

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

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Row7<Integer, String, Integer, String, String, Timestamp, Timestamp> fieldsRow() {
		return (Row7) super.fieldsRow();
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Row7<Integer, String, Integer, String, String, Timestamp, Timestamp> valuesRow() {
		return (Row7) super.valuesRow();
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Field<Integer> field1() {
		return OfcDataQueryGroup.OFC_DATA_QUERY_GROUP.ID;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Field<String> field2() {
		return OfcDataQueryGroup.OFC_DATA_QUERY_GROUP.UUID;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Field<Integer> field3() {
		return OfcDataQueryGroup.OFC_DATA_QUERY_GROUP.SURVEY_ID;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Field<String> field4() {
		return OfcDataQueryGroup.OFC_DATA_QUERY_GROUP.TITLE;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Field<String> field5() {
		return OfcDataQueryGroup.OFC_DATA_QUERY_GROUP.DESCRIPTION;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Field<Timestamp> field6() {
		return OfcDataQueryGroup.OFC_DATA_QUERY_GROUP.CREATION_DATE;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Field<Timestamp> field7() {
		return OfcDataQueryGroup.OFC_DATA_QUERY_GROUP.MODIFIED_DATE;
	}

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

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

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Integer value3() {
		return getSurveyId();
	}

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

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

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Timestamp value6() {
		return getCreationDate();
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Timestamp value7() {
		return getModifiedDate();
	}

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

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

	/**
	 * {@inheritDoc}
	 */
	@Override
	public OfcDataQueryGroupRecord value3(Integer value) {
		setSurveyId(value);
		return this;
	}

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

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

	/**
	 * {@inheritDoc}
	 */
	@Override
	public OfcDataQueryGroupRecord value6(Timestamp value) {
		setCreationDate(value);
		return this;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public OfcDataQueryGroupRecord value7(Timestamp value) {
		setModifiedDate(value);
		return this;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public OfcDataQueryGroupRecord values(Integer value1, String value2, Integer value3, String value4, String value5, Timestamp value6, Timestamp value7) {
		value1(value1);
		value2(value2);
		value3(value3);
		value4(value4);
		value5(value5);
		value6(value6);
		value7(value7);
		return this;
	}

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

	/**
	 * Create a detached OfcDataQueryGroupRecord
	 */
	public OfcDataQueryGroupRecord() {
		super(OfcDataQueryGroup.OFC_DATA_QUERY_GROUP);
	}

	/**
	 * Create a detached, initialised OfcDataQueryGroupRecord
	 */
	public OfcDataQueryGroupRecord(Integer id, String uuid, Integer surveyId, String title, String description, Timestamp creationDate, Timestamp modifiedDate) {
		super(OfcDataQueryGroup.OFC_DATA_QUERY_GROUP);

		setValue(0, id);
		setValue(1, uuid);
		setValue(2, surveyId);
		setValue(3, title);
		setValue(4, description);
		setValue(5, creationDate);
		setValue(6, modifiedDate);
	}
}
