package com.qianwen.smartman.modules.smis.vo; import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.annotations.ApiModelProperty; import java.util.List; import org.assertj.core.util.Lists; import com.qianwen.core.tool.node.INode; import com.qianwen.core.tool.utils.Func; public class ToolingVO implements INode { private static final long serialVersionUID = 4310105284183104319L; @ApiModelProperty(value = "主键", dataType = "java.lang.String") private Long id; @ApiModelProperty("拼接的虚拟路径字符串代码") private String code; @ApiModelProperty("名称") private String name; @ApiModelProperty(value = "父节点ID", dataType = "java.lang.String") private Long parentId; @ApiModelProperty("父节点名称") private String parentName; @ApiModelProperty("部门人数") private Integer numbers; @JsonInclude(JsonInclude.Include.NON_EMPTY) private List children; @JsonInclude(JsonInclude.Include.NON_EMPTY) private Boolean hasChildren; public void setId(final Long id) { this.id = id; } public void setCode(final String code) { this.code = code; } public void setName(final String name) { this.name = name; } public void setParentId(final Long parentId) { this.parentId = parentId; } public void setParentName(final String parentName) { this.parentName = parentName; } public void setNumbers(final Integer numbers) { this.numbers = numbers; } public void setChildren(final List children) { this.children = children; } public void setHasChildren(final Boolean hasChildren) { this.hasChildren = hasChildren; } public boolean equals(final Object o) { if (o == this) { return true; } if (o instanceof ToolingVO) { ToolingVO other = (ToolingVO) o; if (other.canEqual(this)) { Object this$id = getId(); Object other$id = other.getId(); if (this$id == null) { if (other$id != null) { return false; } } else if (!this$id.equals(other$id)) { return false; } Object this$parentId = getParentId(); Object other$parentId = other.getParentId(); if (this$parentId == null) { if (other$parentId != null) { return false; } } else if (!this$parentId.equals(other$parentId)) { return false; } Object this$numbers = getNumbers(); Object other$numbers = other.getNumbers(); if (this$numbers == null) { if (other$numbers != null) { return false; } } else if (!this$numbers.equals(other$numbers)) { return false; } Object this$hasChildren = getHasChildren(); Object other$hasChildren = other.getHasChildren(); if (this$hasChildren == null) { if (other$hasChildren != null) { return false; } } else if (!this$hasChildren.equals(other$hasChildren)) { return false; } Object this$code = getCode(); Object other$code = other.getCode(); if (this$code == null) { if (other$code != null) { return false; } } else if (!this$code.equals(other$code)) { return false; } Object this$name = getName(); Object other$name = other.getName(); if (this$name == null) { if (other$name != null) { return false; } } else if (!this$name.equals(other$name)) { return false; } Object this$parentName = getParentName(); Object other$parentName = other.getParentName(); if (this$parentName == null) { if (other$parentName != null) { return false; } } else if (!this$parentName.equals(other$parentName)) { return false; } Object this$children = getChildren(); Object other$children = other.getChildren(); return this$children == null ? other$children == null : this$children.equals(other$children); } return false; } return false; } protected boolean canEqual(final Object other) { return other instanceof ToolingVO; } public int hashCode() { Object $id = getId(); int result = (1 * 59) + ($id == null ? 43 : $id.hashCode()); Object $parentId = getParentId(); int result2 = (result * 59) + ($parentId == null ? 43 : $parentId.hashCode()); Object $numbers = getNumbers(); int result3 = (result2 * 59) + ($numbers == null ? 43 : $numbers.hashCode()); Object $hasChildren = getHasChildren(); int result4 = (result3 * 59) + ($hasChildren == null ? 43 : $hasChildren.hashCode()); Object $code = getCode(); int result5 = (result4 * 59) + ($code == null ? 43 : $code.hashCode()); Object $name = getName(); int result6 = (result5 * 59) + ($name == null ? 43 : $name.hashCode()); Object $parentName = getParentName(); int result7 = (result6 * 59) + ($parentName == null ? 43 : $parentName.hashCode()); Object $children = getChildren(); return (result7 * 59) + ($children == null ? 43 : $children.hashCode()); } public String toString() { return "ToolingVO(id=" + getId() + ", code=" + getCode() + ", name=" + getName() + ", parentId=" + getParentId() + ", parentName=" + getParentName() + ", numbers=" + getNumbers() + ", children=" + getChildren() + ", hasChildren=" + getHasChildren() + ")"; } public Long getId() { return this.id; } public String getCode() { return this.code; } public String getName() { return this.name; } public Long getParentId() { return this.parentId; } public String getParentName() { return this.parentName; } public Integer getNumbers() { return this.numbers; } public Boolean getHasChildren() { return Boolean.valueOf(this.children.size() > 0); } public List getChildren() { if (Func.isEmpty(this.children)) { this.children = Lists.newArrayList(); } return this.children; } }