/**
 * This class is generated by jOOQ
 */
package cleandb.mysql.tables.records;

/**
 * Time zones
 */
@javax.annotation.Generated(
	value = {
		"http://www.jooq.org",
		"jOOQ version:3.5.4"
	},
	comments = "This class is generated by jOOQ"
)
@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class TimeZoneRecord extends org.jooq.impl.UpdatableRecordImpl<cleandb.mysql.tables.records.TimeZoneRecord> implements org.jooq.Record2<org.jooq.types.UInteger, cleandb.mysql.enums.TimeZoneUseLeapSeconds> {

	private static final long serialVersionUID = -744162189;

	/**
	 * Setter for <code>mysql.time_zone.Time_zone_id</code>.
	 */
	public void setTimeZoneId(org.jooq.types.UInteger value) {
		setValue(0, value);
	}

	/**
	 * Getter for <code>mysql.time_zone.Time_zone_id</code>.
	 */
	public org.jooq.types.UInteger getTimeZoneId() {
		return (org.jooq.types.UInteger) getValue(0);
	}

	/**
	 * Setter for <code>mysql.time_zone.Use_leap_seconds</code>.
	 */
	public void setUseLeapSeconds(cleandb.mysql.enums.TimeZoneUseLeapSeconds value) {
		setValue(1, value);
	}

	/**
	 * Getter for <code>mysql.time_zone.Use_leap_seconds</code>.
	 */
	public cleandb.mysql.enums.TimeZoneUseLeapSeconds getUseLeapSeconds() {
		return (cleandb.mysql.enums.TimeZoneUseLeapSeconds) getValue(1);
	}

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

	/**
	 * {@inheritDoc}
	 */
	@Override
	public org.jooq.Record1<org.jooq.types.UInteger> key() {
		return (org.jooq.Record1) super.key();
	}

	// -------------------------------------------------------------------------
	// Record2 type implementation
	// -------------------------------------------------------------------------

	/**
	 * {@inheritDoc}
	 */
	@Override
	public org.jooq.Row2<org.jooq.types.UInteger, cleandb.mysql.enums.TimeZoneUseLeapSeconds> fieldsRow() {
		return (org.jooq.Row2) super.fieldsRow();
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public org.jooq.Row2<org.jooq.types.UInteger, cleandb.mysql.enums.TimeZoneUseLeapSeconds> valuesRow() {
		return (org.jooq.Row2) super.valuesRow();
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public org.jooq.Field<org.jooq.types.UInteger> field1() {
		return cleandb.mysql.tables.TimeZone.TIME_ZONE.TIME_ZONE_ID;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public org.jooq.Field<cleandb.mysql.enums.TimeZoneUseLeapSeconds> field2() {
		return cleandb.mysql.tables.TimeZone.TIME_ZONE.USE_LEAP_SECONDS;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public org.jooq.types.UInteger value1() {
		return getTimeZoneId();
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public cleandb.mysql.enums.TimeZoneUseLeapSeconds value2() {
		return getUseLeapSeconds();
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public TimeZoneRecord value1(org.jooq.types.UInteger value) {
		setTimeZoneId(value);
		return this;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public TimeZoneRecord value2(cleandb.mysql.enums.TimeZoneUseLeapSeconds value) {
		setUseLeapSeconds(value);
		return this;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public TimeZoneRecord values(org.jooq.types.UInteger value1, cleandb.mysql.enums.TimeZoneUseLeapSeconds value2) {
		return this;
	}

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

	/**
	 * Create a detached TimeZoneRecord
	 */
	public TimeZoneRecord() {
		super(cleandb.mysql.tables.TimeZone.TIME_ZONE);
	}

	/**
	 * Create a detached, initialised TimeZoneRecord
	 */
	public TimeZoneRecord(org.jooq.types.UInteger timeZoneId, cleandb.mysql.enums.TimeZoneUseLeapSeconds useLeapSeconds) {
		super(cleandb.mysql.tables.TimeZone.TIME_ZONE);

		setValue(0, timeZoneId);
		setValue(1, useLeapSeconds);
	}
}
