package com.yonge.cooleshow.auth.api.entity;

import io.swagger.annotations.ApiModelProperty;

import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;

/**
 * 对应数据库表(sys_menu):
 */
public class SysMenu {

	/** 菜单ID */
	@ApiModelProperty(value = "菜单ID",required = false)
	private Long id;

	/** 菜单名称 */
	@ApiModelProperty(value = "菜单名称",required = false)
	private String name;

	/** 菜单权限标识 */
	@ApiModelProperty(value = "菜单权限标识",required = false)
	private String permission;

	/** 菜单权限标识 */
	@ApiModelProperty(value = "顶级菜单权限标识",required = false)
	private String parentPermission;

	/** 接口路径 */
	@ApiModelProperty(value = "接口路径",required = false)
	private String path;

	/** 父菜单ID */
	@ApiModelProperty(value = "父菜单ID",required = false)
	private Long parentId;

	/** 图标 */
	@ApiModelProperty(value = "图标 */",required = false)
	private String icon;

	/** 前端页面地址 */
	@ApiModelProperty(value = "前端页面地址",required = false)
	private String component;

	/** 排序值 */
	@ApiModelProperty(value = "排序值",required = false)
	private Integer sort;

	/** 0-开启，1- 关闭 */
	@ApiModelProperty(value = "0-开启，1- 关闭",required = false)
	private String keepAlive;

	/** 菜单类型 （0菜单 1按钮） */
	@ApiModelProperty(value = "菜单类型 （0菜单 1按钮）",required = false)
	private String type;

	/** 创建时间 */
	private java.util.Date createTime;

	/** 更新时间 */
	private java.util.Date updateTime;

	/** 删除标记(0--正常 1--删除) */
	@ApiModelProperty(value = "删除标记(0--正常 1--删除)",required = false)
	private Boolean delFlag= false;

	private Integer hid;
	
	@ApiModelProperty(value = "是否固定在 tagsView 栏上",required = false)
	private Boolean isAffix;
	
	@ApiModelProperty(value = "是否内嵌窗口",required = false)
	private Boolean isIframe;
	
	@ApiModelProperty(value = "外链地址",required = false)
	private String linkPath;

	@ApiModelProperty(value = "子节点列表",required = false)
	private List<SysMenu> sysMenus;

	private String memo;

	public String getMemo() {
		return memo;
	}

	public void setMemo(String memo) {
		this.memo = memo;
	}

	public String getParentPermission() {
		return parentPermission;
	}

	public void setParentPermission(String parentPermission) {
		this.parentPermission = parentPermission;
	}

	public Integer getHid() {
		return hid;
	}

	public void setHid(Integer hid) {
		this.hid = hid;
	}

	public List<SysMenu> getSysMenus() {
		return sysMenus;
	}

	public void setSysMenus(List<SysMenu> sysMenus) {
		this.sysMenus = sysMenus;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getName() {
		return this.name;
	}

	public void setPermission(String permission) {
		this.permission = permission;
	}

	public String getPermission() {
		return this.permission;
	}

	public void setPath(String path) {
		this.path = path;
	}

	public String getPath() {
		return this.path;
	}

	public void setParentId(Long parentId) {
		this.parentId = parentId;
	}

	public Long getParentId() {
		return this.parentId;
	}

	public void setIcon(String icon) {
		this.icon = icon;
	}

	public String getIcon() {
		return this.icon;
	}

	public String getComponent() {
		return component;
	}

	public void setComponent(String component) {
		this.component = component;
	}

	public void setSort(Integer sort) {
		this.sort = sort;
	}

	public Integer getSort() {
		return this.sort;
	}

	public void setKeepAlive(String keepAlive) {
		this.keepAlive = keepAlive;
	}

	public String getKeepAlive() {
		return this.keepAlive;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getType() {
		return this.type;
	}

	public void setCreateTime(java.util.Date createTime) {
		this.createTime = createTime;
	}

	public java.util.Date getCreateTime() {
		return this.createTime;
	}

	public void setUpdateTime(java.util.Date updateTime) {
		this.updateTime = updateTime;
	}

	public java.util.Date getUpdateTime() {
		return this.updateTime;
	}

	public Boolean getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(Boolean delFlag) {
		this.delFlag = delFlag;
	}

	public Boolean getIsAffix() {
		return isAffix;
	}

	public void setIsAffix(Boolean isAffix) {
		this.isAffix = isAffix;
	}

	public Boolean getIsIframe() {
		return isIframe;
	}

	public void setIsIframe(Boolean isIframe) {
		this.isIframe = isIframe;
	}

	public String getLinkPath() {
		return linkPath;
	}

	public void setLinkPath(String linkPath) {
		this.linkPath = linkPath;
	}

	public Boolean getAffix() {
		return isAffix;
	}

	public void setAffix(Boolean affix) {
		isAffix = affix;
	}

	public Boolean getIframe() {
		return isIframe;
	}

	public void setIframe(Boolean iframe) {
		isIframe = iframe;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
