Class LinkedNode<T extends LinkedNode<T>>

  • Direct Known Subclasses:
    DataFile, Journal.WriteCommand, Sequence

    public class LinkedNode<T extends LinkedNode<T>>
    extends Object
    Provides a base class for you to extend when you want object to maintain a doubly linked list to other objects without using a collection class.
    Author:
    chirino
    • Constructor Detail

      • LinkedNode

        public LinkedNode()
    • Method Detail

      • getHeadNode

        public T getHeadNode()
      • getTailNode

        public T getTailNode()
      • getNext

        public T getNext()
      • getPrevious

        public T getPrevious()
      • getNextCircular

        public T getNextCircular()
      • getPreviousCircular

        public T getPreviousCircular()
      • isHeadNode

        public boolean isHeadNode()
      • isTailNode

        public boolean isTailNode()
      • linkAfter

        public void linkAfter​(T node)
        Parameters:
        node - the node to link after this node.
      • linkAfter

        public void linkAfter​(LinkedNodeList<T> rightList)
        Parameters:
        rightList - the node to link after this node.
      • linkBefore

        public void linkBefore​(T node)
        Parameters:
        node - the node to link after this node.
      • linkBefore

        public void linkBefore​(LinkedNodeList<T> leftList)
        Parameters:
        leftList - the node to link after this node.
      • unlink

        public boolean unlink()
        Removes this node out of the linked list it is chained in.
      • splitAfter

        public LinkedNodeList<T> splitAfter()
        Splits the list into 2 lists. This node becomes the tail of this list. Then 2nd list is returned.
        Returns:
        An empty list if this is a tail node.
      • splitBefore

        public LinkedNodeList<T> splitBefore()
        Splits the list into 2 lists. This node becomes the head of this list. Then 2nd list is returned.
        Returns:
        An empty list if this is a head node.
      • isLinked

        public boolean isLinked()