/*
 * 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 SysResource implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;
    private String parentId;
    private Short level;
    private String name;
    private String types;
    private String url;
    private String icon;
    private Byte ishide;
    private String description;

    public SysResource() {}

    public SysResource(SysResource 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.ishide = value.ishide;
        this.description = value.description;
    }

    public SysResource(
        String id,
        String parentId,
        Short level,
        String name,
        String types,
        String url,
        String icon,
        Byte ishide,
        String description
    ) {
        this.id = id;
        this.parentId = parentId;
        this.level = level;
        this.name = name;
        this.types = types;
        this.url = url;
        this.icon = icon;
        this.ishide = ishide;
        this.description = description;
    }

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

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

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

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

    /**
     * Getter for <code>yx.sys_resource.level</code>. 菜单排列顺序
     */
    public Short getLevel() {
        return this.level;
    }

    /**
     * Setter for <code>yx.sys_resource.level</code>. 菜单排列顺序
     */
    public void setLevel(Short level) {
        this.level = level;
    }

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

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

    /**
     * Getter for <code>yx.sys_resource.types</code>. 资源类型
     */
    public String getTypes() {
        return this.types;
    }

    /**
     * Setter for <code>yx.sys_resource.types</code>. 资源类型
     */
    public void setTypes(String types) {
        this.types = types;
    }

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

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

    /**
     * Getter for <code>yx.sys_resource.icon</code>. 菜单图标
     */
    public String getIcon() {
        return this.icon;
    }

    /**
     * Setter for <code>yx.sys_resource.icon</code>. 菜单图标
     */
    public void setIcon(String icon) {
        this.icon = icon;
    }

    /**
     * Getter for <code>yx.sys_resource.ishide</code>. 是否折叠隐藏
     */
    public Byte getIshide() {
        return this.ishide;
    }

    /**
     * Setter for <code>yx.sys_resource.ishide</code>. 是否折叠隐藏
     */
    public void setIshide(Byte ishide) {
        this.ishide = ishide;
    }

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

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

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        final SysResource other = (SysResource) 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.ishide == null) {
            if (other.ishide != null)
                return false;
        }
        else if (!this.ishide.equals(other.ishide))
            return false;
        if (this.description == null) {
            if (other.description != null)
                return false;
        }
        else if (!this.description.equals(other.description))
            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.ishide == null) ? 0 : this.ishide.hashCode());
        result = prime * result + ((this.description == null) ? 0 : this.description.hashCode());
        return result;
    }

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

        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(ishide);
        sb.append(", ").append(description);

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