Class AbstractPostfixDepthFirstTreeIterator<P extends IterableNode<? extends C>,​C extends IterableNode<?>>

  • Type Parameters:
    P - is the type of the parent nodes.
    C - is the type of the child nodes.
    All Implemented Interfaces:
    Iterator<P>
    Direct Known Subclasses:
    PostfixDepthFirstTreeIterator

    public abstract class AbstractPostfixDepthFirstTreeIterator<P extends IterableNode<? extends C>,​C extends IterableNode<?>>
    extends Object
    implements Iterator<P>
    This class is an postfixed iterator on a tree. It treats the parent node after going inside the child nodes.
    Since:
    13.0
    Version:
    17.0 2020-01-04 14:41:41
    Author:
    Stéphane GALLAND
    Maven Group Id:
    org.arakhne.afc.core
    Maven Artifact Id:
    mathtree
    • Constructor Detail

      • AbstractPostfixDepthFirstTreeIterator

        public AbstractPostfixDepthFirstTreeIterator​(P node)
        Constructor.
        Parameters:
        node - is the node to iterate.
    • Method Detail

      • toTraversableChild

        @Pure
        protected abstract P toTraversableChild​(P parent,
                                                C child)
        Replies an object to type N which is corresponding to the given child node retreived from the given parent node.
        Parameters:
        parent - is the node from which the child node was retreived.
        child - is the child node to test.
        Returns:
        the traversable node, or null if the node is not traversable.
      • isTraversableParent

        @Pure
        protected abstract boolean isTraversableParent​(P parent)
        Replies if an object to type N which is corresponding to the given child node retreived from the given parent node.
        Parameters:
        parent - is the node from which the child node was retreived.
        Returns:
        true if the given node is traversable, false otherwise.