package com.blueland.bo;

import java.util.*;

import com.blueland.model.Query;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;
@Data
@EqualsAndHashCode(callSuper=false)
public class MenuEntity extends Query {
	private static final long serialVersionUID = 1L;
	//alias
	public static final String TABLE_ALIAS = "Menu";
	
		
	//可以直接使用: @Length(max=50,message="用户名长度不能大于50")显示错误消息
	//columns START
	/**
	* 资源ID       db_column: MENU_ID 
	*/	
	@Length(max=50)
	private String menuId;
	/**
	* 系统标识       db_column: APP_ID 
	*/	
	@NotBlank @Length(max=50)
	private String appId;
	/**
	* 上级资源ID       db_column: MENU_PARENT_ID 
	*/	
	@Length(max=50)
	private String menuParentId;
	/**
	* 资源编码       db_column: MENU_CODE 
	*/	
	@Length(max=50)
	private String menuCode;
	/**
	* 资源名称       db_column: MENU_NAME 
	*/	
	@Length(max=50)
	private String menuName;
	/**
	* 类型 folder:目录 menu:菜单 button:按钮       db_column: MENU_TYPE 
	*/	
	@Length(max=20)
	private String menuType;
	/**
	* 资源图标       db_column: MENU_ICON 
	*/	
	@Length(max=50)
	private String menuIcon;
	/**
	 * 菜单资源类型 form：表单，flowForm：流程表单，dataTable：数据表格，report：报表   db_column: RES_TYPE
	 */
	@Length(max=20)
	private String resType;
	/**
	* 资源URL       db_column: MENU_URL 
	*/
	@Length(max=200)
	private String menuUrl;
	/**
	* 排序       db_column: SORT 
	*/	
	
	private Integer sort;
	/**
	* 备注       db_column: REMARK 
	*/	
	@Length(max=65535)
	private String remark;
	/**
	* 状态 Y:启用 N:禁用       db_column: STATUS 
	*/	
	@Length(max=2)
	private String status;
	/**
	* 创建人       db_column: CREATOR_ID 
	*/	
	@Length(max=50)
	private String creatorId;
	/**
	* 创建时间       db_column: CREATE_DATE 
	*/	
	@NotNull 
	private Date createDate;
	/**
	* 更新人       db_column: UPDATOR_ID 
	*/	
	@Length(max=50)
	private String updatorId;
	/**
	* 更新时间       db_column: UPDATE_DATE 
	*/	
	@NotNull 
	private Date updateDate;
	/**
	* 资源级别       db_column: MENU_LEVEL 
	*/	
	@NotNull 
	private Integer menuLevel;
	/**
	* 打开方式 2当前页面 1弹出页面       db_column: OPEN_TYPE 
	*/	
	@Length(max=10)
	private String openType;
	/**
	* 页面编码       db_column: PAGE_CODE 
	*/	
	@Length(max=50)
	private String pageCode;
	/**
	* 是否公开 1是 2否       db_column: OPEN_STATUS 
	*/	
	@Length(max=10)
	private String openStatus;
	
	private Boolean isParent;
	
	private Boolean hasChildren;
	
	private String formId;
	
	private String modelId;
	
	
	private List<MenuEntity> children;
	//columns END
		
}

