Class OutputStack.Sequence

  • All Implemented Interfaces:
    java.util.Iterator<OutputNode>
    Enclosing class:
    OutputStack

    private class OutputStack.Sequence
    extends java.lang.Object
    implements java.util.Iterator<OutputNode>
    The is used to order the OutputNode objects from the top down. This is basically used to reverse the order of the linked list so that the stack can be iterated within a for each loop easily. This can also be used to remove a node.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int cursor
      The cursor used to acquire objects from the stack.
    • Constructor Summary

      Constructors 
      Constructor Description
      Sequence()
      Constructor for the Sequence object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean hasNext()
      This is used to determine if the cursor has reached the start of the list.
      OutputNode next()
      Returns the OutputNode object at the cursor position.
      void remove()
      Removes the match from the cursor position.
      • 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 Detail

      • cursor

        private int cursor
        The cursor used to acquire objects from the stack.
    • Constructor Detail

      • Sequence

        public Sequence()
        Constructor for the Sequence object. This is used to position the cursor at the end of the list so the last inserted output node is the first returned from this.
    • Method Detail

      • next

        public OutputNode next()
        Returns the OutputNode object at the cursor position. If the cursor has reached the start of the list then this returns null instead of the first output node.
        Specified by:
        next in interface java.util.Iterator<OutputNode>
        Returns:
        this returns the node from the cursor position
      • hasNext

        public boolean hasNext()
        This is used to determine if the cursor has reached the start of the list. When the cursor reaches the start of the list then this method returns false.
        Specified by:
        hasNext in interface java.util.Iterator<OutputNode>
        Returns:
        this returns true if there are more nodes left
      • remove

        public void remove()
        Removes the match from the cursor position. This also ensures that the node is removed from the active set so that it is not longer considered a relevant output node.
        Specified by:
        remove in interface java.util.Iterator<OutputNode>