/**
 * This class is generated by jOOQ
 */
package jooqdb.tables;


import java.util.Arrays;
import java.util.List;

import javax.annotation.Generated;

import jooqdb.Keys;
import jooqdb.Smrtms;
import jooqdb.tables.records.FriendRequestStashRecord;

import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.impl.TableImpl;


/**
 * This class is generated by jOOQ.
 */
@Generated(
	value = {
		"http://www.jooq.org",
		"jOOQ version:3.6.0"
	},
	comments = "This class is generated by jOOQ"
)
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class FriendRequestStash extends TableImpl<FriendRequestStashRecord> {

	private static final long serialVersionUID = 1727418781;

	/**
	 * The reference instance of <code>SMRTMS.Friend_Request_Stash</code>
	 */
	public static final FriendRequestStash FRIEND_REQUEST_STASH = new FriendRequestStash();

	/**
	 * The class holding records for this type
	 */
	@Override
	public Class<FriendRequestStashRecord> getRecordType() {
		return FriendRequestStashRecord.class;
	}

	/**
	 * The column <code>SMRTMS.Friend_Request_Stash.Friender_ID</code>.
	 */
	public final TableField<FriendRequestStashRecord, Integer> FRIENDER_ID = createField("Friender_ID", org.jooq.impl.SQLDataType.INTEGER, this, "");

	/**
	 * The column <code>SMRTMS.Friend_Request_Stash.Friendee_ID</code>.
	 */
	public final TableField<FriendRequestStashRecord, Integer> FRIENDEE_ID = createField("Friendee_ID", org.jooq.impl.SQLDataType.INTEGER, this, "");

	/**
	 * Create a <code>SMRTMS.Friend_Request_Stash</code> table reference
	 */
	public FriendRequestStash() {
		this("Friend_Request_Stash", null);
	}

	/**
	 * Create an aliased <code>SMRTMS.Friend_Request_Stash</code> table reference
	 */
	public FriendRequestStash(String alias) {
		this(alias, FRIEND_REQUEST_STASH);
	}

	private FriendRequestStash(String alias, Table<FriendRequestStashRecord> aliased) {
		this(alias, aliased, null);
	}

	private FriendRequestStash(String alias, Table<FriendRequestStashRecord> aliased, Field<?>[] parameters) {
		super(alias, Smrtms.SMRTMS, aliased, parameters, "");
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public List<ForeignKey<FriendRequestStashRecord, ?>> getReferences() {
		return Arrays.<ForeignKey<FriendRequestStashRecord, ?>>asList(Keys.FRIEND_REQUEST_STASH_IBFK_1, Keys.FRIEND_REQUEST_STASH_IBFK_2);
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public FriendRequestStash as(String alias) {
		return new FriendRequestStash(alias, this);
	}

	/**
	 * Rename this table
	 */
	public FriendRequestStash rename(String name) {
		return new FriendRequestStash(name, null);
	}
}
