/**
* 文件：ResourceEntity.java
* 版本：1.0.0
* 日期：
* Copyright &reg; 
* All right reserved.
*/

package com.mortals.xhx.base.system.resource.model;

import com.mortals.framework.model.BaseEntityLong;

import java.util.Date;

/**
 * <p>Title: 资源信息</p>
 * <p>Description: ResourceEntity  </p>
 * <p>Copyright: Copyright &reg;  </p>
 * <p>Company: </p>
 * @author 
 * @version 1.0.0
 */
public class ResourceEntity extends BaseEntityLong{
	private static final long serialVersionUID = 1547777703340L;
	
	/** 名称 */
	private String name;

	/** 连接地址，多个地址以逗号分隔 */
	private String url;

	/** 权限类型，0：无限制，1：无需登录查看，2：需要登录查看，3：需要角色权限查看，默认3 */
	private Integer authType;

	/** 资源类型，0：系统资源，1：开放资源，默认0 */
	private Integer sourceType;

	/** 创建时间 */
	private Date createTime;

	/** 创建用户 */
	private Long createUserId;

	/** 创建用户名称 */
	private String createUserName;

	/** 用户类型，0：系统用户 1:代理商用户 2:品牌商用户 */
	private Integer userType;


	public ResourceEntity(){
		
	}
	/**
	 * 获取 名称
	 * @return name
	 */
	public String getName(){
		return this.name;
	}

	/**
	 * 设置 名称
	 * @param name
	 */
	public void setName(String name){
		this.name = name;
	}

	/**
	 * 获取 连接地址，多个地址以逗号分隔
	 * @return url
	 */
	public String getUrl(){
		return this.url;
	}

	/**
	 * 设置 连接地址，多个地址以逗号分隔
	 * @param url
	 */
	public void setUrl(String url){
		this.url = url;
	}

	/**
	 * 获取 权限类型，0：无限制，1：无需登录查看，2：需要登录查看，3：需要角色权限查看，默认3
	 * @return authType
	 */
	public Integer getAuthType(){
		return this.authType;
	}

	/**
	 * 设置 权限类型，0：无限制，1：无需登录查看，2：需要登录查看，3：需要角色权限查看，默认3
	 * @param authType
	 */
	public void setAuthType(Integer authType){
		this.authType = authType;
	}

	/**
	 * 获取 资源类型，0：系统资源，1：开放资源，默认0
	 * @return sourceType
	 */
	public Integer getSourceType(){
		return this.sourceType;
	}

	/**
	 * 设置 资源类型，0：系统资源，1：开放资源，默认0
	 * @param sourceType
	 */
	public void setSourceType(Integer sourceType){
		this.sourceType = sourceType;
	}

	/**
	 * 获取 创建时间
	 * @return createTime
	 */
	public Date getCreateTime(){
		return this.createTime;
	}

	/**
	 * 设置 创建时间
	 * @param createTime
	 */
	public void setCreateTime(Date createTime){
		this.createTime = createTime;
	}

	/**
	 * 获取 创建用户
	 * @return createUserId
	 */
	public Long getCreateUserId(){
		return this.createUserId;
	}

	/**
	 * 设置 创建用户
	 * @param createUserId
	 */
	public void setCreateUserId(Long createUserId){
		this.createUserId = createUserId;
	}

	/**
	 * 获取 创建用户名称
	 * @return createUserName
	 */
	public String getCreateUserName(){
		return this.createUserName;
	}

	/**
	 * 设置 创建用户名称
	 * @param createUserName
	 */
	public void setCreateUserName(String createUserName){
		this.createUserName = createUserName;
	}

	/**
	 * 获取 用户类型，0：系统用户 1:代理商用户 2:品牌商用户
	 * @return userType
	 */
	public Integer getUserType(){
		return this.userType;
	}

	/**
	 * 设置 用户类型，0：系统用户 1:代理商用户 2:品牌商用户
	 * @param userType
	 */
	public void setUserType(Integer userType){
		this.userType = userType;
	}


	@Override
	public int hashCode() {
		return this.getId().hashCode();
	}
	@Override
	public boolean equals(Object obj) {
		if (obj == null)
			return false;
		if (obj instanceof ResourceEntity) {
			ResourceEntity tmp = (ResourceEntity) obj;
			if (this.getId().longValue() == tmp.getId().longValue()) {
				return true;
			}
		}
		return false;
	}
	public String toString(){
		StringBuilder sb = new StringBuilder("");
		sb.append("id:").append(getId())
		  .append(",name:").append(getName())
		  .append(",url:").append(getUrl())
		  .append(",authType:").append(getAuthType())
		  .append(",sourceType:").append(getSourceType())
		  .append(",createTime:").append(getCreateTime())
		  .append(",createUserId:").append(getCreateUserId())
		  .append(",createUserName:").append(getCreateUserName())
		  .append(",userType:").append(getUserType());
		return sb.toString();
	}
	public void initAttrValue(){
		this.name = null;
		this.url = null;
		this.authType = 3;
		this.sourceType = 0;
		this.createTime = null;
		this.createUserId = null;
		this.createUserName = null;
		this.userType = null;
	}
}