Class TreeReversePostOrderIterable<TItem, TIdentifier>

java.lang.Object
de.xima.fc.common.tree.TreeReversePostOrderIterable<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>

@Deprecated public final class TreeReversePostOrderIterable<TItem, TIdentifier> extends Object implements Iterable<TItem>
Deprecated.
Use TreeReversePostOrderIterable instead.
An iterable that iterates over a tree-like graph in reverse post order, 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:
8.2.0
Author:
XIMA MEDIA GmbH
  • Constructor Details

    • TreeReversePostOrderIterable

      public TreeReversePostOrderIterable(Iterable<TItem> startItems, ITreeAccessor<TItem, TIdentifier> treeAccessor)
      Deprecated.
      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
    • TreeReversePostOrderIterable

      public TreeReversePostOrderIterable(Iterable<TItem> startItems, ITreeAccessor<TItem, TIdentifier> treeAccessor, boolean limitRecursion)
      Deprecated.
      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
      limitRecursion - If true, stops iterating when an item is encountered for the second time (as determined by Object.hashCode(), Object.equals(Object)) and throws an IllegalStateException.
    • TreeReversePostOrderIterable

      public TreeReversePostOrderIterable(TItem startItem, ITreeAccessor<TItem, TIdentifier> treeAccessor)
      Deprecated.
      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
    • TreeReversePostOrderIterable

      public TreeReversePostOrderIterable(TItem startItem, ITreeAccessor<TItem, TIdentifier> treeAccessor, boolean limitRecursion)
      Deprecated.
      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
      limitRecursion - If true, stops iterating when an item is encountered for the second time (as determined by Object.hashCode(), Object.equals(Object)) and throws an IllegalStateException.
  • Method Details

    • iterator

      public Iterator<TItem> iterator()
      Deprecated.
      Specified by:
      iterator in interface Iterable<TItem>
    • toList

      public static <TItem> List<TItem> toList(TItem startItem, ITreeAccessor<TItem,?> treeAccessor)
      Deprecated.
      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.