Package de.xima.fc.workflow
Class TreePreOrderIterable<TItem,TIdentifier> 
java.lang.Object
de.xima.fc.workflow.TreePreOrderIterable<TItem,TIdentifier> 
- Type Parameters:
 TItem- Type of the items in the tree.TIdentifier- Type of the identifier that identifiers the items in the tree.
- All Implemented Interfaces:
 Iterable<TItem>
An iterable that iterates over a tree-like graph, starting at a given node. Throws an exception in case the graph is
 not a tree, thus also preventing endless cycles when the graph is cyclic.
- Since:
 - 7.0.0
 - Author:
 - XIMA MEDIA GmbH
 
- 
Constructor Summary
ConstructorsConstructorDescriptionTreePreOrderIterable(Iterable<TItem> startItems, ITreeAccessor<TItem, TIdentifier> treeAccessor) Returns a new iterable over the items in the tree starting at the given item.TreePreOrderIterable(Iterable<TItem> startItems, ITreeAccessor<TItem, TIdentifier> treeAccessor, boolean limitRecursion) Returns a new iterable over the items in the tree starting at the given item.TreePreOrderIterable(TItem startItem, ITreeAccessor<TItem, TIdentifier> treeAccessor) Returns a new iterable over the items in the tree starting at the given item.TreePreOrderIterable(TItem startItem, ITreeAccessor<TItem, TIdentifier> treeAccessor, boolean limitRecursion) Returns a new iterable over the items in the tree starting at the given item. - 
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator 
- 
Constructor Details
- 
TreePreOrderIterable
public TreePreOrderIterable(Iterable<TItem> startItems, ITreeAccessor<TItem, TIdentifier> treeAccessor) Returns a new iterable over the items in the tree starting at the given item.- Parameters:
 startItems- Root items where to start the traversal. These items are included in the traversal.treeAccessor- Handler for accessing the children of a node, and its identifier
 - 
TreePreOrderIterable
public TreePreOrderIterable(Iterable<TItem> startItems, ITreeAccessor<TItem, TIdentifier> treeAccessor, boolean limitRecursion) Returns a new iterable over the items in the tree starting at the given item.- Parameters:
 startItems- Root items where to start the traversal. These items are included in the traversal.treeAccessor- Handler for accessing the children of a node, and its identifierlimitRecursion- Iftrue, stops iterating when an item is encountered for the second time (as determined byObject.hashCode(),Object.equals(Object)) and throws anIllegalStateException.- Since:
 - 7.2.1
 
 - 
TreePreOrderIterable
Returns a new iterable over the items in the tree starting at the given item.- Parameters:
 startItem- Item where to start the traversal. This item is included in the traversal.treeAccessor- Handler for accessing the children of a node, and its identifier
 - 
TreePreOrderIterable
public TreePreOrderIterable(TItem startItem, ITreeAccessor<TItem, TIdentifier> treeAccessor, boolean limitRecursion) Returns a new iterable over the items in the tree starting at the given item.- Parameters:
 startItem- Item where to start the traversal. This item is included in the traversal.treeAccessor- Handler for accessing the children of a node, and its identifierlimitRecursion- Iftrue, stops iterating when an item is encountered for the second time (as determined byObject.hashCode(),Object.equals(Object)) and throws anIllegalStateException.- Since:
 - 7.2.1
 
 
 - 
 - 
Method Details
- 
iterator
 - 
toList
Iterates over the node and its children, and returns a list of all iterated nodes.- Type Parameters:
 TItem- Type of the items in the tree.- Parameters:
 startItem- Node where to start the traversal. This item is included in the returned list.treeAccessor- Handler for accessing the children of a node, and its identifier.- Returns:
 - A list with the given start item and all its children.
 
 
 -