/**
 * This class is generated by jOOQ
 */
package edu.kit.ipd.crowdcontrol.workerservice.database.model.tables.records;


import edu.kit.ipd.crowdcontrol.workerservice.database.model.tables.Constraint;

import javax.annotation.Generated;

import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record3;
import org.jooq.Row3;
import org.jooq.impl.UpdatableRecordImpl;


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

	private static final long serialVersionUID = -1965603805;

	/**
	 * Setter for <code>crowdcontrol.Constraint.id_constraint</code>.
	 */
	public void setIdConstraint(Integer value) {
		setValue(0, value);
	}

	/**
	 * Getter for <code>crowdcontrol.Constraint.id_constraint</code>.
	 */
	public Integer getIdConstraint() {
		return (Integer) getValue(0);
	}

	/**
	 * Setter for <code>crowdcontrol.Constraint.constraint</code>.
	 */
	public void setConstraint(String value) {
		setValue(1, value);
	}

	/**
	 * Getter for <code>crowdcontrol.Constraint.constraint</code>.
	 */
	public String getConstraint() {
		return (String) getValue(1);
	}

	/**
	 * Setter for <code>crowdcontrol.Constraint.experiment</code>.
	 */
	public void setExperiment(Integer value) {
		setValue(2, value);
	}

	/**
	 * Getter for <code>crowdcontrol.Constraint.experiment</code>.
	 */
	public Integer getExperiment() {
		return (Integer) getValue(2);
	}

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

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

	// -------------------------------------------------------------------------
	// Record3 type implementation
	// -------------------------------------------------------------------------

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

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

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Field<Integer> field1() {
		return Constraint.CONSTRAINT.ID_CONSTRAINT;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Field<String> field2() {
		return Constraint.CONSTRAINT.CONSTRAINT_;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Field<Integer> field3() {
		return Constraint.CONSTRAINT.EXPERIMENT;
	}

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

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

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

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

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

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

	/**
	 * {@inheritDoc}
	 */
	@Override
	public ConstraintRecord values(Integer value1, String value2, Integer value3) {
		value1(value1);
		value2(value2);
		value3(value3);
		return this;
	}

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

	/**
	 * Create a detached ConstraintRecord
	 */
	public ConstraintRecord() {
		super(Constraint.CONSTRAINT);
	}

	/**
	 * Create a detached, initialised ConstraintRecord
	 */
	public ConstraintRecord(Integer idConstraint, String constraint, Integer experiment) {
		super(Constraint.CONSTRAINT);

		setValue(0, idConstraint);
		setValue(1, constraint);
		setValue(2, experiment);
	}
}
