/*
 * This file is generated by jOOQ.
 */
package ervu_secret.ervu_secret.db_beans.pg_catalog.tables.records;


import ervu_secret.ervu_secret.db_beans.pg_catalog.tables.PgType;

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


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

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>pg_catalog.pg_type.oid</code>.
     */
    public void setOid(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.oid</code>.
     */
    public Long getOid() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typname</code>.
     */
    public void setTypname(String value) {
        set(1, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typname</code>.
     */
    public String getTypname() {
        return (String) get(1);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typnamespace</code>.
     */
    public void setTypnamespace(Long value) {
        set(2, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typnamespace</code>.
     */
    public Long getTypnamespace() {
        return (Long) get(2);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typowner</code>.
     */
    public void setTypowner(Long value) {
        set(3, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typowner</code>.
     */
    public Long getTypowner() {
        return (Long) get(3);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typlen</code>.
     */
    public void setTyplen(Short value) {
        set(4, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typlen</code>.
     */
    public Short getTyplen() {
        return (Short) get(4);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typbyval</code>.
     */
    public void setTypbyval(Boolean value) {
        set(5, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typbyval</code>.
     */
    public Boolean getTypbyval() {
        return (Boolean) get(5);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typtype</code>.
     */
    public void setTyptype(String value) {
        set(6, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typtype</code>.
     */
    public String getTyptype() {
        return (String) get(6);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typcategory</code>.
     */
    public void setTypcategory(String value) {
        set(7, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typcategory</code>.
     */
    public String getTypcategory() {
        return (String) get(7);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typispreferred</code>.
     */
    public void setTypispreferred(Boolean value) {
        set(8, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typispreferred</code>.
     */
    public Boolean getTypispreferred() {
        return (Boolean) get(8);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typisdefined</code>.
     */
    public void setTypisdefined(Boolean value) {
        set(9, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typisdefined</code>.
     */
    public Boolean getTypisdefined() {
        return (Boolean) get(9);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typdelim</code>.
     */
    public void setTypdelim(String value) {
        set(10, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typdelim</code>.
     */
    public String getTypdelim() {
        return (String) get(10);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typrelid</code>.
     */
    public void setTyprelid(Long value) {
        set(11, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typrelid</code>.
     */
    public Long getTyprelid() {
        return (Long) get(11);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typsubscript</code>.
     */
    public void setTypsubscript(String value) {
        set(12, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typsubscript</code>.
     */
    public String getTypsubscript() {
        return (String) get(12);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typelem</code>.
     */
    public void setTypelem(Long value) {
        set(13, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typelem</code>.
     */
    public Long getTypelem() {
        return (Long) get(13);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typarray</code>.
     */
    public void setTyparray(Long value) {
        set(14, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typarray</code>.
     */
    public Long getTyparray() {
        return (Long) get(14);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typinput</code>.
     */
    public void setTypinput(String value) {
        set(15, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typinput</code>.
     */
    public String getTypinput() {
        return (String) get(15);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typoutput</code>.
     */
    public void setTypoutput(String value) {
        set(16, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typoutput</code>.
     */
    public String getTypoutput() {
        return (String) get(16);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typreceive</code>.
     */
    public void setTypreceive(String value) {
        set(17, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typreceive</code>.
     */
    public String getTypreceive() {
        return (String) get(17);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typsend</code>.
     */
    public void setTypsend(String value) {
        set(18, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typsend</code>.
     */
    public String getTypsend() {
        return (String) get(18);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typmodin</code>.
     */
    public void setTypmodin(String value) {
        set(19, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typmodin</code>.
     */
    public String getTypmodin() {
        return (String) get(19);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typmodout</code>.
     */
    public void setTypmodout(String value) {
        set(20, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typmodout</code>.
     */
    public String getTypmodout() {
        return (String) get(20);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typanalyze</code>.
     */
    public void setTypanalyze(String value) {
        set(21, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typanalyze</code>.
     */
    public String getTypanalyze() {
        return (String) get(21);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typalign</code>.
     */
    public void setTypalign(String value) {
        set(22, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typalign</code>.
     */
    public String getTypalign() {
        return (String) get(22);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typstorage</code>.
     */
    public void setTypstorage(String value) {
        set(23, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typstorage</code>.
     */
    public String getTypstorage() {
        return (String) get(23);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typnotnull</code>.
     */
    public void setTypnotnull(Boolean value) {
        set(24, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typnotnull</code>.
     */
    public Boolean getTypnotnull() {
        return (Boolean) get(24);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typbasetype</code>.
     */
    public void setTypbasetype(Long value) {
        set(25, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typbasetype</code>.
     */
    public Long getTypbasetype() {
        return (Long) get(25);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typtypmod</code>.
     */
    public void setTyptypmod(Integer value) {
        set(26, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typtypmod</code>.
     */
    public Integer getTyptypmod() {
        return (Integer) get(26);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typndims</code>.
     */
    public void setTypndims(Integer value) {
        set(27, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typndims</code>.
     */
    public Integer getTypndims() {
        return (Integer) get(27);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typcollation</code>.
     */
    public void setTypcollation(Long value) {
        set(28, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typcollation</code>.
     */
    public Long getTypcollation() {
        return (Long) get(28);
    }

    /**
     * @deprecated Unknown data type. If this is a qualified, user-defined type,
     * it may have been excluded from code generation. If this is a built-in
     * type, you can define an explicit {@link org.jooq.Binding} to specify how
     * this type should be handled. Deprecation can be turned off using
     * {@literal <deprecationOnUnknownTypes/>} in your code generator
     * configuration.
     */
    @Deprecated
    public void setTypdefaultbin(Object value) {
        set(29, value);
    }

    /**
     * @deprecated Unknown data type. If this is a qualified, user-defined type,
     * it may have been excluded from code generation. If this is a built-in
     * type, you can define an explicit {@link org.jooq.Binding} to specify how
     * this type should be handled. Deprecation can be turned off using
     * {@literal <deprecationOnUnknownTypes/>} in your code generator
     * configuration.
     */
    @Deprecated
    public Object getTypdefaultbin() {
        return get(29);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typdefault</code>.
     */
    public void setTypdefault(String value) {
        set(30, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typdefault</code>.
     */
    public String getTypdefault() {
        return (String) get(30);
    }

    /**
     * Setter for <code>pg_catalog.pg_type.typacl</code>.
     */
    public void setTypacl(String[] value) {
        set(31, value);
    }

    /**
     * Getter for <code>pg_catalog.pg_type.typacl</code>.
     */
    public String[] getTypacl() {
        return (String[]) get(31);
    }

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

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

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

    /**
     * Create a detached PgTypeRecord
     */
    public PgTypeRecord() {
        super(PgType.PG_TYPE);
    }

    /**
     * Create a detached, initialised PgTypeRecord
     */
    public PgTypeRecord(Long oid, String typname, Long typnamespace, Long typowner, Short typlen, Boolean typbyval, String typtype, String typcategory, Boolean typispreferred, Boolean typisdefined, String typdelim, Long typrelid, String typsubscript, Long typelem, Long typarray, String typinput, String typoutput, String typreceive, String typsend, String typmodin, String typmodout, String typanalyze, String typalign, String typstorage, Boolean typnotnull, Long typbasetype, Integer typtypmod, Integer typndims, Long typcollation, Object typdefaultbin, String typdefault, String[] typacl) {
        super(PgType.PG_TYPE);

        setOid(oid);
        setTypname(typname);
        setTypnamespace(typnamespace);
        setTypowner(typowner);
        setTyplen(typlen);
        setTypbyval(typbyval);
        setTyptype(typtype);
        setTypcategory(typcategory);
        setTypispreferred(typispreferred);
        setTypisdefined(typisdefined);
        setTypdelim(typdelim);
        setTyprelid(typrelid);
        setTypsubscript(typsubscript);
        setTypelem(typelem);
        setTyparray(typarray);
        setTypinput(typinput);
        setTypoutput(typoutput);
        setTypreceive(typreceive);
        setTypsend(typsend);
        setTypmodin(typmodin);
        setTypmodout(typmodout);
        setTypanalyze(typanalyze);
        setTypalign(typalign);
        setTypstorage(typstorage);
        setTypnotnull(typnotnull);
        setTypbasetype(typbasetype);
        setTyptypmod(typtypmod);
        setTypndims(typndims);
        setTypcollation(typcollation);
        setTypdefaultbin(typdefaultbin);
        setTypdefault(typdefault);
        setTypacl(typacl);
        resetChangedOnNotNull();
    }
}
