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


import java.io.Serializable;


/**
 * This class is generated by jOOQ.
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class SysMenu implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;
    private String parentId;
    private Integer level;
    private String name;
    private String types;
    private String url;
    private String icon;
    private Integer isOpen;
    private String description;
    private Integer sort;

    public SysMenu() {}

    public SysMenu(SysMenu value) {
        this.id = value.id;
        this.parentId = value.parentId;
        this.level = value.level;
        this.name = value.name;
        this.types = value.types;
        this.url = value.url;
        this.icon = value.icon;
        this.isOpen = value.isOpen;
        this.description = value.description;
        this.sort = value.sort;
    }

    public SysMenu(
        String id,
        String parentId,
        Integer level,
        String name,
        String types,
        String url,
        String icon,
        Integer isOpen,
        String description,
        Integer sort
    ) {
        this.id = id;
        this.parentId = parentId;
        this.level = level;
        this.name = name;
        this.types = types;
        this.url = url;
        this.icon = icon;
        this.isOpen = isOpen;
        this.description = description;
        this.sort = sort;
    }

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

    /**
     * Setter for <code>yx.sys_menu.id</code>.
     */
    public void setId(String id) {
        this.id = id;
    }

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

    /**
     * Setter for <code>yx.sys_menu.parent_id</code>.
     */
    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

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

    /**
     * Setter for <code>yx.sys_menu.level</code>.
     */
    public void setLevel(Integer level) {
        this.level = level;
    }

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

    /**
     * Setter for <code>yx.sys_menu.name</code>.
     */
    public void setName(String name) {
        this.name = name;
    }

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

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

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

    /**
     * Setter for <code>yx.sys_menu.url</code>.
     */
    public void setUrl(String url) {
        this.url = url;
    }

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

    /**
     * Setter for <code>yx.sys_menu.icon</code>.
     */
    public void setIcon(String icon) {
        this.icon = icon;
    }

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

    /**
     * Setter for <code>yx.sys_menu.is_open</code>.
     */
    public void setIsOpen(Integer isOpen) {
        this.isOpen = isOpen;
    }

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

    /**
     * Setter for <code>yx.sys_menu.description</code>.
     */
    public void setDescription(String description) {
        this.description = description;
    }

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

    /**
     * Setter for <code>yx.sys_menu.sort</code>.
     */
    public void setSort(Integer sort) {
        this.sort = sort;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        final SysMenu other = (SysMenu) obj;
        if (this.id == null) {
            if (other.id != null)
                return false;
        }
        else if (!this.id.equals(other.id))
            return false;
        if (this.parentId == null) {
            if (other.parentId != null)
                return false;
        }
        else if (!this.parentId.equals(other.parentId))
            return false;
        if (this.level == null) {
            if (other.level != null)
                return false;
        }
        else if (!this.level.equals(other.level))
            return false;
        if (this.name == null) {
            if (other.name != null)
                return false;
        }
        else if (!this.name.equals(other.name))
            return false;
        if (this.types == null) {
            if (other.types != null)
                return false;
        }
        else if (!this.types.equals(other.types))
            return false;
        if (this.url == null) {
            if (other.url != null)
                return false;
        }
        else if (!this.url.equals(other.url))
            return false;
        if (this.icon == null) {
            if (other.icon != null)
                return false;
        }
        else if (!this.icon.equals(other.icon))
            return false;
        if (this.isOpen == null) {
            if (other.isOpen != null)
                return false;
        }
        else if (!this.isOpen.equals(other.isOpen))
            return false;
        if (this.description == null) {
            if (other.description != null)
                return false;
        }
        else if (!this.description.equals(other.description))
            return false;
        if (this.sort == null) {
            if (other.sort != null)
                return false;
        }
        else if (!this.sort.equals(other.sort))
            return false;
        return true;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((this.id == null) ? 0 : this.id.hashCode());
        result = prime * result + ((this.parentId == null) ? 0 : this.parentId.hashCode());
        result = prime * result + ((this.level == null) ? 0 : this.level.hashCode());
        result = prime * result + ((this.name == null) ? 0 : this.name.hashCode());
        result = prime * result + ((this.types == null) ? 0 : this.types.hashCode());
        result = prime * result + ((this.url == null) ? 0 : this.url.hashCode());
        result = prime * result + ((this.icon == null) ? 0 : this.icon.hashCode());
        result = prime * result + ((this.isOpen == null) ? 0 : this.isOpen.hashCode());
        result = prime * result + ((this.description == null) ? 0 : this.description.hashCode());
        result = prime * result + ((this.sort == null) ? 0 : this.sort.hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder("SysMenu (");

        sb.append(id);
        sb.append(", ").append(parentId);
        sb.append(", ").append(level);
        sb.append(", ").append(name);
        sb.append(", ").append(types);
        sb.append(", ").append(url);
        sb.append(", ").append(icon);
        sb.append(", ").append(isOpen);
        sb.append(", ").append(description);
        sb.append(", ").append(sort);

        sb.append(")");
        return sb.toString();
    }
}
