/*
 * This file is generated by jOOQ.
 */
package ervu_dashboard.ervu_dashboard.db_beans.security.tables.records;


import ervu_dashboard.ervu_dashboard.db_beans.security.tables.UserAccount;

import java.sql.Timestamp;

import org.jooq.Record1;
import org.jooq.impl.UpdatableRecordImpl;


/**
 * This class is generated by jOOQ.
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class UserAccountRecord extends UpdatableRecordImpl<UserAccountRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>security.user_account.user_account_id</code>.
     */
    public void setUserAccountId(String value) {
        set(0, value);
    }

    /**
     * Getter for <code>security.user_account.user_account_id</code>.
     */
    public String getUserAccountId() {
        return (String) get(0);
    }

    /**
     * Setter for <code>security.user_account.email</code>.
     */
    public void setEmail(String value) {
        set(1, value);
    }

    /**
     * Getter for <code>security.user_account.email</code>.
     */
    public String getEmail() {
        return (String) get(1);
    }

    /**
     * Setter for <code>security.user_account.first_name</code>.
     */
    public void setFirstName(String value) {
        set(2, value);
    }

    /**
     * Getter for <code>security.user_account.first_name</code>.
     */
    public String getFirstName() {
        return (String) get(2);
    }

    /**
     * Setter for <code>security.user_account.last_name</code>.
     */
    public void setLastName(String value) {
        set(3, value);
    }

    /**
     * Getter for <code>security.user_account.last_name</code>.
     */
    public String getLastName() {
        return (String) get(3);
    }

    /**
     * Setter for <code>security.user_account.middle_name</code>.
     */
    public void setMiddleName(String value) {
        set(4, value);
    }

    /**
     * Getter for <code>security.user_account.middle_name</code>.
     */
    public String getMiddleName() {
        return (String) get(4);
    }

    /**
     * Setter for <code>security.user_account.created</code>.
     */
    public void setCreated(Timestamp value) {
        set(5, value);
    }

    /**
     * Getter for <code>security.user_account.created</code>.
     */
    public Timestamp getCreated() {
        return (Timestamp) get(5);
    }

    /**
     * Setter for <code>security.user_account.updated</code>.
     */
    public void setUpdated(Timestamp value) {
        set(6, value);
    }

    /**
     * Getter for <code>security.user_account.updated</code>.
     */
    public Timestamp getUpdated() {
        return (Timestamp) get(6);
    }

    /**
     * Setter for <code>security.user_account.locked</code>.
     */
    public void setLocked(Boolean value) {
        set(7, value);
    }

    /**
     * Getter for <code>security.user_account.locked</code>.
     */
    public Boolean getLocked() {
        return (Boolean) get(7);
    }

    /**
     * Setter for <code>security.user_account.org_unit_id</code>.
     */
    public void setOrgUnitId(String value) {
        set(8, value);
    }

    /**
     * Getter for <code>security.user_account.org_unit_id</code>.
     */
    public String getOrgUnitId() {
        return (String) get(8);
    }

    /**
     * Setter for <code>security.user_account.username</code>.
     */
    public void setUsername(String value) {
        set(9, value);
    }

    /**
     * Getter for <code>security.user_account.username</code>.
     */
    public String getUsername() {
        return (String) get(9);
    }

    /**
     * Setter for <code>security.user_account.phone</code>.
     */
    public void setPhone(String value) {
        set(10, value);
    }

    /**
     * Getter for <code>security.user_account.phone</code>.
     */
    public String getPhone() {
        return (String) get(10);
    }

    /**
     * Setter for <code>security.user_account.email_confirmed</code>.
     */
    public void setEmailConfirmed(Boolean value) {
        set(11, value);
    }

    /**
     * Getter for <code>security.user_account.email_confirmed</code>.
     */
    public Boolean getEmailConfirmed() {
        return (Boolean) get(11);
    }

    /**
     * Setter for <code>security.user_account.user_source</code>.
     */
    public void setUserSource(String value) {
        set(12, value);
    }

    /**
     * Getter for <code>security.user_account.user_source</code>.
     */
    public String getUserSource() {
        return (String) get(12);
    }

    /**
     * Setter for <code>security.user_account.source_name</code>.
     */
    public void setSourceName(String value) {
        set(13, value);
    }

    /**
     * Getter for <code>security.user_account.source_name</code>.
     */
    public String getSourceName() {
        return (String) get(13);
    }

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

    @Override
    public Record1<String> key() {
        return (Record1) super.key();
    }

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

    /**
     * Create a detached UserAccountRecord
     */
    public UserAccountRecord() {
        super(UserAccount.USER_ACCOUNT);
    }

    /**
     * Create a detached, initialised UserAccountRecord
     */
    public UserAccountRecord(String userAccountId, String email, String firstName, String lastName, String middleName, Timestamp created, Timestamp updated, Boolean locked, String orgUnitId, String username, String phone, Boolean emailConfirmed, String userSource, String sourceName) {
        super(UserAccount.USER_ACCOUNT);

        setUserAccountId(userAccountId);
        setEmail(email);
        setFirstName(firstName);
        setLastName(lastName);
        setMiddleName(middleName);
        setCreated(created);
        setUpdated(updated);
        setLocked(locked);
        setOrgUnitId(orgUnitId);
        setUsername(username);
        setPhone(phone);
        setEmailConfirmed(emailConfirmed);
        setUserSource(userSource);
        setSourceName(sourceName);
        resetChangedOnNotNull();
    }
}
