kd.bos.entity.tree

## 类 TreeMenuNode

- java.lang.Object
- - kd.bos.entity.tree.TreeMenuNode

-     @KSObject
      public class TreeMenuNode
      extends java.lang.Object

- - ### 构造器概要

    构造器
    构造器和说明
    `TreeMenuNode()`
    `TreeMenuNode(java.lang.String parentId, java.lang.String id, java.lang.String text)` 构造叶子节点
    `TreeMenuNode(java.lang.String parentId, java.lang.String id, java.lang.String text, java.lang.String iconUrl, java.lang.String activedIconUrl)` 构造带数据的节点

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `TreeMenuNode` | `addChild(int i, TreeMenuNode node)` 特定位置添加单个子节点
    `TreeMenuNode` | `addChild(TreeMenuNode node)` 添加单个子节点
    `TreeMenuNode` | `addChildren(java.util.List<TreeMenuNode> nodes)` 添加多个子节点
    `TreeMenuNode` | `deleteChildNode(java.lang.String id)` 递归删除子节点
    `java.lang.String` | `getActivedIconUrl()`
    `java.util.List<java.lang.String>` | `getChildPath(java.lang.String id)` 获取子节点路径
    `java.util.List<TreeMenuNode>` | `getChildren()`
    `java.lang.String` | `getIconUrl()`
    `java.lang.String` | `getId()` 编码/唯一标示
    `int` | `getNodeLevel(java.lang.String id, int startLevel)` 获取节点的层级，没有找到返回-1
    `java.lang.String` | `getParentid()` 所在父节点编码/唯一标识
    `java.lang.String` | `getText()` 显示内容
    `TreeMenuNode` | `getTreeNode(java.lang.String id, int maxLevel)` 递归查找id所在节点
    `void` | `iterate(int maxLevel, java.util.function.Consumer<TreeMenuNode> callback)` 遍历所有节点
    `void` | `setActivedIconUrl(java.lang.String activedIconUrl)`
    `void` | `setChildren(java.util.List<TreeMenuNode> arrayList)`
    `void` | `setIconUrl(java.lang.String iconUrl)`
    `void` | `setId(java.lang.String value)`
    `void` | `setParentid(java.lang.String value)`
    `void` | `setText(java.lang.String value)`

    - ### 从类继承的方法 java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 构造器详细资料

    - #### TreeMenuNode

          public TreeMenuNode()

    - #### TreeMenuNode

          public TreeMenuNode(java.lang.String parentId,
                              java.lang.String id,
                              java.lang.String text)

      构造叶子节点
      参数:
        `parentId` -
        `id` -
        `text` -

    - #### TreeMenuNode

          public TreeMenuNode(java.lang.String parentId,
                              java.lang.String id,
                              java.lang.String text,
                              java.lang.String iconUrl,
                              java.lang.String activedIconUrl)

      构造带数据的节点
      参数:
        `parentId` -
        `id` -
        `text` -
        `isParent` -
        `data` -

  - ### 方法详细资料

    - #### getId

          @KSMethod
          public final java.lang.String getId()

      编码/唯一标示

    - #### setId

          @KSMethod
          public final void setId(java.lang.String value)

    - #### getText

          @KSMethod
          public final java.lang.String getText()

      显示内容

    - #### setText

          @KSMethod
          public final void setText(java.lang.String value)

    - #### getParentid

          @KSMethod
          public final java.lang.String getParentid()

      所在父节点编码/唯一标识

    - #### setParentid

          @KSMethod
          public final void setParentid(java.lang.String value)

    - #### getChildren

          @KSMethod
          public java.util.List<TreeMenuNode> getChildren()

    - #### setChildren

          @KSMethod
          public void setChildren(java.util.List<TreeMenuNode> arrayList)

    - #### getIconUrl

          @KSMethod
          public java.lang.String getIconUrl()

    - #### setIconUrl

          @KSMethod
          public void setIconUrl(java.lang.String iconUrl)

    - #### getActivedIconUrl

          @KSMethod
          public java.lang.String getActivedIconUrl()

    - #### setActivedIconUrl

          @KSMethod
          public void setActivedIconUrl(java.lang.String activedIconUrl)

    - #### addChild

          @KSMethod
          public TreeMenuNode addChild(TreeMenuNode node)

      添加单个子节点
      参数:
        `node` -
      返回:
        返回当前节点，方便链式操作

    - #### addChild

          @KSMethod
          public TreeMenuNode addChild(int i,
                                                  TreeMenuNode node)

      特定位置添加单个子节点
      参数:
        `node` -
      返回:
        返回当前节点，方便链式操作

    - #### addChildren

          @KSMethod
          public TreeMenuNode addChildren(java.util.List<TreeMenuNode> nodes)

      添加多个子节点
      参数:
        `nodes` -
      返回:
        返回当前节点，方便链式操作

    - #### getTreeNode

          @KSMethod
          public TreeMenuNode getTreeNode(java.lang.String id,
                                                     int maxLevel)

      递归查找id所在节点
      参数:
        `id` -
        `maxLevel` - 最大遍历深度（子节点算第一层）
      返回:

    - #### getNodeLevel

          @KSMethod
          public int getNodeLevel(java.lang.String id,
                                             int startLevel)

      获取节点的层级，没有找到返回-1
      参数:
        `id` -
        `startLevel` -
      返回:

    - #### getChildPath

          @KSMethod
          public java.util.List<java.lang.String> getChildPath(java.lang.String id)

      获取子节点路径
      参数:
        `id` -
      返回:

    - #### iterate

          public void iterate(int maxLevel,
                              java.util.function.Consumer<TreeMenuNode> callback)

      遍历所有节点
      参数:
        `maxLevel` - 最大遍历深度（子节点算第一层）
        `callback` - 回调函数，可以传个lambda表达式

    - #### deleteChildNode

          @KSMethod
          public TreeMenuNode deleteChildNode(java.lang.String id)

      递归删除子节点
      参数:
        `id` -
      返回:
        删除节点的上一级节点