Class LinkedNode<T extends LinkedNode<T>>

java.lang.Object
org.apache.activemq.store.kahadb.disk.util.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
  • Field Details

  • Constructor Details

    • LinkedNode

      public LinkedNode()
  • Method Details

    • 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.
    • linkToTail

      public void linkToTail(LinkedNodeList<T> target)
    • linkToHead

      public void linkToHead(LinkedNodeList<T> target)
    • 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()
    • getList

      public LinkedNodeList<T> getList()