com.sun.jdo.spi.persistence.utility
Class DoubleLinkedList

java.lang.Object
  extended by com.sun.jdo.spi.persistence.utility.DoubleLinkedList

public class DoubleLinkedList
extends Object

This class defines a thread-safe double linked-list. The list is usable by any class that implements the com.forte.util.Linkable interface. This class allows a linkable object it be inserted or removed from anywhere in the list. RESTRICTION: An object can only be a member of 1 list at a time.


Field Summary
 Linkable head
          Head of linked list.
 int size
          Size of linked list.
 Linkable tail
          Tail of linked list.
 
Constructor Summary
DoubleLinkedList()
          Default constructor.
 
Method Summary
 Linkable getHead()
          Return the object at the head of a linked list.
 int getSize()
          Return size of the linked list.
 Linkable getTail()
          Return the object at the tail of a linked list.
 void insertAtHead(Linkable node)
          Insert an object at the head of a linked list.
 void insertAtTail(Linkable node)
          Insert an object at the tail of a linked list.
 void insertIntoList(Linkable afternode, Linkable newnode)
          Insert an object anywhere into the linked list.
 Linkable removeFromHead()
          Remove and return an object from the head of a linked list.
 void removeFromList(Linkable node)
          Remove the specified object from anywhere in the linked list.
 Linkable removeFromTail()
          Remove and return an object from the tail of a linked list.
 String toString()
          Return a string representation of this DoubleLinkedList object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

head

public Linkable head
Head of linked list.


tail

public Linkable tail
Tail of linked list.


size

public int size
Size of linked list.

Constructor Detail

DoubleLinkedList

public DoubleLinkedList()
Default constructor.

Method Detail

getHead

public Linkable getHead()
Return the object at the head of a linked list.


getTail

public Linkable getTail()
Return the object at the tail of a linked list.


getSize

public int getSize()
Return size of the linked list.


insertAtHead

public void insertAtHead(Linkable node)
Insert an object at the head of a linked list.


insertAtTail

public void insertAtTail(Linkable node)
Insert an object at the tail of a linked list.


removeFromHead

public Linkable removeFromHead()
Remove and return an object from the head of a linked list.


removeFromTail

public Linkable removeFromTail()
Remove and return an object from the tail of a linked list.


removeFromList

public void removeFromList(Linkable node)
Remove the specified object from anywhere in the linked list. This method is usually used by the object to remove itself from the list.


insertIntoList

public void insertIntoList(Linkable afternode,
                           Linkable newnode)
Insert an object anywhere into the linked list.

Parameters:
afternode - the new node will be inserted after this node
newnode - the new node to be inserted

toString

public String toString()
Return a string representation of this DoubleLinkedList object.

Overrides:
toString in class Object
Returns:
String representation of this object.


Copyright © 2012 GlassFish Community. All Rights Reserved.