类 TreeBuilder<E>

java.lang.Object
org.elsfs.tool.core.tree.TreeBuilder<E>
类型参数:
E - ID类型

public class TreeBuilder<E> extends Object
树构建器
作者:
zeng
  • 构造器详细资料

    • TreeBuilder

      public TreeBuilder(E rootId, TreeNodeConfig config)
      构造
      参数:
      rootId - 根节点ID
      config - 配置
  • 方法详细资料

    • of

      public static <T> TreeBuilder<T> of(T rootId)
      创建Tree构建器
      类型参数:
      T - ID类型
      参数:
      rootId - 根节点ID
      返回:
      TreeBuilder
    • of

      public static <T> TreeBuilder<T> of(T rootId, TreeNodeConfig config)
      创建Tree构建器
      类型参数:
      T - ID类型
      参数:
      rootId - 根节点ID
      config - 配置
      返回:
      TreeBuilder
    • setId

      public TreeBuilder<E> setId(E id)
      设置ID
      参数:
      id - ID
      返回:
      this
    • setParentId

      public TreeBuilder<E> setParentId(E parentId)
      设置父节点ID
      参数:
      parentId - 父节点ID
      返回:
      this
    • setName

      public TreeBuilder<E> setName(CharSequence name)
      设置节点标签名称
      参数:
      name - 节点标签名称
      返回:
      this
    • setWeight

      public TreeBuilder<E> setWeight(Comparable<?> weight)
      设置权重
      参数:
      weight - 权重
      返回:
      this
    • putExtra

      public TreeBuilder<E> putExtra(String key, Object value)
      扩展属性
      参数:
      key - 键
      value - 扩展值
      返回:
      this
    • append

      public TreeBuilder<E> append(Map<E,Tree<E>> map)
      增加节点列表,增加的节点是不带子节点的
      参数:
      map - 节点列表
      返回:
      this
    • append

      public TreeBuilder<E> append(Iterable<Tree<E>> trees)
      增加节点列表,增加的节点是不带子节点的
      参数:
      trees - 节点列表
      返回:
      this
    • append

      public <T> TreeBuilder<E> append(List<T> list, NodeParser<T,E> nodeParser)
      增加节点列表,增加的节点是不带子节点的
      类型参数:
      T - Bean类型
      参数:
      list - Bean列表
      nodeParser - 节点转换器,用于定义一个Bean如何转换为Tree节点
      返回:
      this
    • append

      public <T> TreeBuilder<E> append(List<T> list, E rootId, NodeParser<T,E> nodeParser)
      增加节点列表,增加的节点是不带子节点的
      类型参数:
      T - Bean类型
      参数:
      list - Bean列表
      rootId - 根ID
      nodeParser - 节点转换器,用于定义一个Bean如何转换为Tree节点
      返回:
      this
    • reset

      public TreeBuilder<E> reset()
      重置Builder,实现复用
      返回:
      this
    • build

      public Tree<E> build()
      构建
      返回:
      tree
    • buildList

      public List<Tree<E>> buildList()
      构建树列表,没有顶层节点,例如:
       -用户管理
        -用户管理
          +用户添加
       - 部门管理
        -部门管理
          +部门添加
       
      返回:
      树列表