aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/utils/Tree.kt
diff options
context:
space:
mode:
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/utils/Tree.kt')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/utils/Tree.kt12
1 files changed, 10 insertions, 2 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/utils/Tree.kt b/vid-app-common/src/main/java/org/onap/vid/utils/Tree.kt
index 35e913d16..62453756f 100644
--- a/vid-app-common/src/main/java/org/onap/vid/utils/Tree.kt
+++ b/vid-app-common/src/main/java/org/onap/vid/utils/Tree.kt
@@ -7,9 +7,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -41,6 +41,14 @@ data class Tree<T>(private val root:Node<T>) {
}
}
+ fun getChildrenDepth(): Int {
+ return getMaxDepth(root) - 1
+ }
+
+ private fun getMaxDepth(level:Node<T>): Int {
+ return (level.children.map{getMaxDepth(it.value)}.max() ?: 0) + 1
+ }
+
fun getSubTree(vararg path: T): Tree<T>? {
return getSubTree(path.asList())
}