diff --git a/org/springblade/core/tool/node/TreeNode.java b/org/springblade/core/tool/node/TreeNode.java new file mode 100644 index 00000000..114aa0c0 --- /dev/null +++ b/org/springblade/core/tool/node/TreeNode.java @@ -0,0 +1,72 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.core.tool.node; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import org.springblade.core.tool.utils.Func; + +import java.io.Serial; +import java.util.Objects; + +/** + * 树型节点类 + * + * @author smallchill + */ +@Data +public class TreeNode extends BaseNode { + + @Serial + private static final long serialVersionUID = 1L; + + private String title; + + @JsonSerialize(using = ToStringSerializer.class) + private Long key; + + @JsonSerialize(using = ToStringSerializer.class) + private Long value; + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + TreeNode other = (TreeNode) obj; + return Func.equals(this.getId(), other.getId()); + } + + @Override + public int hashCode() { + return Objects.hash(id, parentId); + } + +}