¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package org.springblade.core.tool.node; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonInclude; |
| | | import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
| | | import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; |
| | | import lombok.Data; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * èç¹åºç±» |
| | | * |
| | | * @author smallchill |
| | | */ |
| | | @Data |
| | | public class BaseNode<T> implements INode<T> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主é®ID |
| | | */ |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | protected Long id; |
| | | |
| | | /** |
| | | * ç¶èç¹ID |
| | | */ |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | protected Long parentId; |
| | | |
| | | /** |
| | | * ååèç¹ |
| | | */ |
| | | @JsonInclude(JsonInclude.Include.NON_EMPTY) |
| | | protected List<T> children = new ArrayList<T>(); |
| | | |
| | | /** |
| | | * æ¯å¦æååèç¹ |
| | | */ |
| | | @JsonInclude(JsonInclude.Include.NON_EMPTY) |
| | | private Boolean hasChildren; |
| | | |
| | | /** |
| | | * æ¯å¦æååèç¹ |
| | | * |
| | | * @return Boolean |
| | | */ |
| | | @Override |
| | | public Boolean getHasChildren() { |
| | | if (children.size() > 0) { |
| | | return true; |
| | | } else { |
| | | return this.hasChildren; |
| | | } |
| | | } |
| | | |
| | | } |