package org.hepx.ticket.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.apache.ibatis.type.Alias;
import java.io.Serializable;
@Alias("t_resource")
public class Resource extends IdEntity implements Serializable {
private String name; //资源名称
private ResourceType type = ResourceType.menu; //资源类型
private String url; //资源路径
private String permission; //权限字符串
private Long parentId; //父编号
private String parentIds; //父编号列表
private Boolean available=Boolean.TRUE;
private String style; //给菜单或按纽定制图标样式
@JsonIgnore
private String selfAsParentIds;//父编号+自身编号的列表
public static enum ResourceType {
menu("菜单"), button("按钮");
private final String info;
private ResourceType(String info) {
this.info = info;
}
public String getInfo() {
return info;
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ResourceType getType() {
return type;
}
public void setType(ResourceType type) {
this.type = type;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getPermission() {
return permission;
}
public void setPermission(String permission) {
this.permission = permission;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public String getParentIds() {
return parentIds;
}
public void setParentIds(String parentIds) {
this.parentIds = parentIds;
}
public Boolean getAvailable() {
return available;
}
public void setAvailable(Boolean available) {
this.available = available;
}
public String getStyle() {
return style;
}
public void setStyle(String style) {
this.style = style;
}
public boolean isRootNode() {
return parentId == 0;
}
public String getSelfAsParentIds() {
return getParentIds() + getId() + "/";
}
public void setSelfAsParentIds(String selfAsParentIds) {
this.selfAsParentIds = selfAsParentIds;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Resource resource = (Resource) o;
if (id != null ? !id.equals(resource.id) : resource.id != null) return false;
return true;
}
@Override
public int hashCode() {
return id != null ? id.hashCode() : 0;
}
@Override
public String toString() {
return "Resource{" +
"id=" + id +
", name='" + name + '\'' +
", type=" + type +
", permission='" + permission + '\'' +
", parentId=" + parentId +
", parentIds='" + parentIds + '\'' +
", available=" + available +
", style='" + style +'\''+
'}';
}
}