From fc1e9a95de6c7378bc3958044ed833bd6e63334f Mon Sep 17 00:00:00 2001 From: b2894lxlx <517289602@qq.com> Date: Tue, 29 Sep 2026 02:23:59 +0800 Subject: [PATCH] =?UTF-8?q?mk=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- org/springblade/core/tool/node/TreeNode.java | 72 ++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 org/springblade/core/tool/node/TreeNode.java 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); + } + +}