Package org.flowable.engine.debug

# Class ExecutionTreeBfsIterator

java.lang.Object
org.flowable.engine.debug.ExecutionTreeBfsIterator

All Implemented Interfaces:
  `Iterator<ExecutionTreeNode>`

public class ExecutionTreeBfsIterator extends Object implements Iterator<ExecutionTreeNode>
Iterates over an `ExecutionTree` using breadth-first search

Author:
  Joram Barrez

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected LinkedList<ExecutionTreeNode>`
  `flattenedList`
  `protected Iterator<ExecutionTreeNode>`
  `flattenedListIterator`
  `protected boolean`
  `reverseOrder`
  `protected ExecutionTreeNode`
  `rootNode`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ExecutionTreeBfsIterator(ExecutionTreeNode executionTree)`
  `ExecutionTreeBfsIterator(ExecutionTreeNode rootNode, boolean reverseOrder)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `flattenTree()`
  `boolean`
  `hasNext()`
  `ExecutionTreeNode`
  `next()`
  `void`
  `remove()`

  ### Methods inherited from class java.lang.Object

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

  ### Methods inherited from interface java.util.Iterator

  `forEachRemaining`

- ## Field Details

  - ### rootNode

    protected ExecutionTreeNode rootNode

  - ### reverseOrder

    protected boolean reverseOrder

  - ### flattenedList

    protected LinkedList<ExecutionTreeNode> flattenedList

  - ### flattenedListIterator

    protected Iterator<ExecutionTreeNode> flattenedListIterator

- ## Constructor Details

  - ### ExecutionTreeBfsIterator

    public ExecutionTreeBfsIterator(ExecutionTreeNode executionTree)

  - ### ExecutionTreeBfsIterator

    public ExecutionTreeBfsIterator(ExecutionTreeNode rootNode, boolean reverseOrder)

- ## Method Details

  - ### flattenTree

    protected void flattenTree()

  - ### hasNext

    public boolean hasNext()
    Specified by:
      `hasNext` in interface `Iterator<ExecutionTreeNode>`

  - ### next

    public ExecutionTreeNode next()
    Specified by:
      `next` in interface `Iterator<ExecutionTreeNode>`

  - ### remove

    public void remove()
    Specified by:
      `remove` in interface `Iterator<ExecutionTreeNode>`