Example usage for org.springframework.statemachine.support.tree TreeTraverser postOrderTraversal

List of usage examples for org.springframework.statemachine.support.tree TreeTraverser postOrderTraversal

Introduction

In this page you can find the example usage for org.springframework.statemachine.support.tree TreeTraverser postOrderTraversal.

Prototype

public final Iterable<T> postOrderTraversal(final T root) 

Source Link

Usage

From source file:org.springframework.statemachine.recipes.tasks.TasksHandler.java

private static Iterator<Node<TaskWrapper>> buildTasksIterator(List<TaskWrapper> tasks) {
    Tree<TaskWrapper> tree = new Tree<TaskWrapper>();
    for (TaskWrapper wrapper : tasks) {
        tree.add(wrapper, wrapper.id, wrapper.parent);
    }/*from w  w  w  . j ava 2s.co m*/

    TreeTraverser<Node<TaskWrapper>> traverser = new TreeTraverser<Node<TaskWrapper>>() {
        @Override
        public Iterable<Node<TaskWrapper>> children(Node<TaskWrapper> root) {
            return root.getChildren();
        }
    };

    Iterable<Node<TaskWrapper>> postOrderTraversal = traverser.postOrderTraversal(tree.getRoot());
    Iterator<Node<TaskWrapper>> iterator = postOrderTraversal.iterator();
    return iterator;
}