Executes [block] for all ancestors with a matching [key].
traverseAncestorsDemo
/**
* Simplified example of traverseAncestors. For a full featured sample, look below at
* [TraverseModifierDemo].
*/
fun traverseAncestorsDemo() {
val customTraversableModifierNode = CustomTraversableModifierNode()
with(customTraversableModifierNode) {
traverseAncestors {
// Because I use the existing key of the class, I can guarantee 'it' will be of the same
// type as the class, so I can call my functions directly.
it.doSomethingWithAncestor()
// Return true to continue searching the tree after a match. If you were looking to
// match only some of the nodes, you could return false and stop executing the search.
true
}
}
}
traverseAncestorsWithKeyDemo
/**
* Simplified example of traverseAncestors with a key. For a full featured sample, look below at
* [TraverseModifierDemo].
*/
fun traverseAncestorsWithKeyDemo() {
val customTraversableModifierNode = CustomTraversableModifierNode()
with(customTraversableModifierNode) {
traverseAncestors(traverseKey) {
if (it is CustomTraversableModifierNode) {
it.doSomethingWithAncestor()
}
// Return true to continue searching the tree after a match. If you were looking to
// match only some of the nodes, you could return false and stop executing the search.
true
}
}
}