/*
 * This file is generated by jOOQ.
 */
package jj.tech.paolu.repository.jooq.tables.records;


import jj.tech.paolu.repository.jooq.tables.SysMenu;

import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record10;
import org.jooq.Row10;
import org.jooq.impl.UpdatableRecordImpl;


/**
 * This class is generated by jOOQ.
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class SysMenuRecord extends UpdatableRecordImpl<SysMenuRecord> implements Record10<String, String, Integer, String, String, String, String, Integer, String, Integer> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>yx.sys_menu.id</code>.
     */
    public void setId(String value) {
        set(0, value);
    }

    /**
     * Getter for <code>yx.sys_menu.id</code>.
     */
    public String getId() {
        return (String) get(0);
    }

    /**
     * Setter for <code>yx.sys_menu.parent_id</code>.
     */
    public void setParentId(String value) {
        set(1, value);
    }

    /**
     * Getter for <code>yx.sys_menu.parent_id</code>.
     */
    public String getParentId() {
        return (String) get(1);
    }

    /**
     * Setter for <code>yx.sys_menu.level</code>.
     */
    public void setLevel(Integer value) {
        set(2, value);
    }

    /**
     * Getter for <code>yx.sys_menu.level</code>.
     */
    public Integer getLevel() {
        return (Integer) get(2);
    }

    /**
     * Setter for <code>yx.sys_menu.name</code>.
     */
    public void setName(String value) {
        set(3, value);
    }

    /**
     * Getter for <code>yx.sys_menu.name</code>.
     */
    public String getName() {
        return (String) get(3);
    }

    /**
     * Setter for <code>yx.sys_menu.types</code>. menu,url
     */
    public void setTypes(String value) {
        set(4, value);
    }

    /**
     * Getter for <code>yx.sys_menu.types</code>. menu,url
     */
    public String getTypes() {
        return (String) get(4);
    }

    /**
     * Setter for <code>yx.sys_menu.url</code>.
     */
    public void setUrl(String value) {
        set(5, value);
    }

    /**
     * Getter for <code>yx.sys_menu.url</code>.
     */
    public String getUrl() {
        return (String) get(5);
    }

    /**
     * Setter for <code>yx.sys_menu.icon</code>.
     */
    public void setIcon(String value) {
        set(6, value);
    }

    /**
     * Getter for <code>yx.sys_menu.icon</code>.
     */
    public String getIcon() {
        return (String) get(6);
    }

    /**
     * Setter for <code>yx.sys_menu.is_open</code>.
     */
    public void setIsOpen(Integer value) {
        set(7, value);
    }

    /**
     * Getter for <code>yx.sys_menu.is_open</code>.
     */
    public Integer getIsOpen() {
        return (Integer) get(7);
    }

    /**
     * Setter for <code>yx.sys_menu.description</code>.
     */
    public void setDescription(String value) {
        set(8, value);
    }

    /**
     * Getter for <code>yx.sys_menu.description</code>.
     */
    public String getDescription() {
        return (String) get(8);
    }

    /**
     * Setter for <code>yx.sys_menu.sort</code>.
     */
    public void setSort(Integer value) {
        set(9, value);
    }

    /**
     * Getter for <code>yx.sys_menu.sort</code>.
     */
    public Integer getSort() {
        return (Integer) get(9);
    }

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

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

    // -------------------------------------------------------------------------
    // Record10 type implementation
    // -------------------------------------------------------------------------

    @Override
    public Row10<String, String, Integer, String, String, String, String, Integer, String, Integer> fieldsRow() {
        return (Row10) super.fieldsRow();
    }

    @Override
    public Row10<String, String, Integer, String, String, String, String, Integer, String, Integer> valuesRow() {
        return (Row10) super.valuesRow();
    }

    @Override
    public Field<String> field1() {
        return SysMenu.SYS_MENU.ID;
    }

    @Override
    public Field<String> field2() {
        return SysMenu.SYS_MENU.PARENT_ID;
    }

    @Override
    public Field<Integer> field3() {
        return SysMenu.SYS_MENU.LEVEL;
    }

    @Override
    public Field<String> field4() {
        return SysMenu.SYS_MENU.NAME;
    }

    @Override
    public Field<String> field5() {
        return SysMenu.SYS_MENU.TYPES;
    }

    @Override
    public Field<String> field6() {
        return SysMenu.SYS_MENU.URL;
    }

    @Override
    public Field<String> field7() {
        return SysMenu.SYS_MENU.ICON;
    }

    @Override
    public Field<Integer> field8() {
        return SysMenu.SYS_MENU.IS_OPEN;
    }

    @Override
    public Field<String> field9() {
        return SysMenu.SYS_MENU.DESCRIPTION;
    }

    @Override
    public Field<Integer> field10() {
        return SysMenu.SYS_MENU.SORT;
    }

    @Override
    public String component1() {
        return getId();
    }

    @Override
    public String component2() {
        return getParentId();
    }

    @Override
    public Integer component3() {
        return getLevel();
    }

    @Override
    public String component4() {
        return getName();
    }

    @Override
    public String component5() {
        return getTypes();
    }

    @Override
    public String component6() {
        return getUrl();
    }

    @Override
    public String component7() {
        return getIcon();
    }

    @Override
    public Integer component8() {
        return getIsOpen();
    }

    @Override
    public String component9() {
        return getDescription();
    }

    @Override
    public Integer component10() {
        return getSort();
    }

    @Override
    public String value1() {
        return getId();
    }

    @Override
    public String value2() {
        return getParentId();
    }

    @Override
    public Integer value3() {
        return getLevel();
    }

    @Override
    public String value4() {
        return getName();
    }

    @Override
    public String value5() {
        return getTypes();
    }

    @Override
    public String value6() {
        return getUrl();
    }

    @Override
    public String value7() {
        return getIcon();
    }

    @Override
    public Integer value8() {
        return getIsOpen();
    }

    @Override
    public String value9() {
        return getDescription();
    }

    @Override
    public Integer value10() {
        return getSort();
    }

    @Override
    public SysMenuRecord value1(String value) {
        setId(value);
        return this;
    }

    @Override
    public SysMenuRecord value2(String value) {
        setParentId(value);
        return this;
    }

    @Override
    public SysMenuRecord value3(Integer value) {
        setLevel(value);
        return this;
    }

    @Override
    public SysMenuRecord value4(String value) {
        setName(value);
        return this;
    }

    @Override
    public SysMenuRecord value5(String value) {
        setTypes(value);
        return this;
    }

    @Override
    public SysMenuRecord value6(String value) {
        setUrl(value);
        return this;
    }

    @Override
    public SysMenuRecord value7(String value) {
        setIcon(value);
        return this;
    }

    @Override
    public SysMenuRecord value8(Integer value) {
        setIsOpen(value);
        return this;
    }

    @Override
    public SysMenuRecord value9(String value) {
        setDescription(value);
        return this;
    }

    @Override
    public SysMenuRecord value10(Integer value) {
        setSort(value);
        return this;
    }

    @Override
    public SysMenuRecord values(String value1, String value2, Integer value3, String value4, String value5, String value6, String value7, Integer value8, String value9, Integer value10) {
        value1(value1);
        value2(value2);
        value3(value3);
        value4(value4);
        value5(value5);
        value6(value6);
        value7(value7);
        value8(value8);
        value9(value9);
        value10(value10);
        return this;
    }

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

    /**
     * Create a detached SysMenuRecord
     */
    public SysMenuRecord() {
        super(SysMenu.SYS_MENU);
    }

    /**
     * Create a detached, initialised SysMenuRecord
     */
    public SysMenuRecord(String id, String parentId, Integer level, String name, String types, String url, String icon, Integer isOpen, String description, Integer sort) {
        super(SysMenu.SYS_MENU);

        setId(id);
        setParentId(parentId);
        setLevel(level);
        setName(name);
        setTypes(types);
        setUrl(url);
        setIcon(icon);
        setIsOpen(isOpen);
        setDescription(description);
        setSort(sort);
        resetChangedOnNotNull();
    }

    /**
     * Create a detached, initialised SysMenuRecord
     */
    public SysMenuRecord(jj.tech.paolu.repository.jooq.tables.pojos.SysMenu value) {
        super(SysMenu.SYS_MENU);

        if (value != null) {
            setId(value.getId());
            setParentId(value.getParentId());
            setLevel(value.getLevel());
            setName(value.getName());
            setTypes(value.getTypes());
            setUrl(value.getUrl());
            setIcon(value.getIcon());
            setIsOpen(value.getIsOpen());
            setDescription(value.getDescription());
            setSort(value.getSort());
            resetChangedOnNotNull();
        }
    }
}
