org.apache.jcs.utils.struct
Class DoubleLinkedList

java.lang.Object
  extended by org.apache.jcs.utils.struct.DoubleLinkedList

public class DoubleLinkedList
extends java.lang.Object

This is a generic thread safe double linked list. It's very simple and all the operations are so quick that course grained synchronization is more than acceptible.


Constructor Summary
DoubleLinkedList()
          Default constructor.
 
Method Summary
 void addFirst(DoubleLinkedListNode me)
          Adds a new node to the start of the link list.
 void addLast(DoubleLinkedListNode me)
          Adds a new node to the end of the link list.
 void debugDumpEntries()
          Dump the cache entries from first to list for debugging.
 DoubleLinkedListNode getFirst()
          Removes the specified node from the link list.
 DoubleLinkedListNode getLast()
          Returns the last node from the link list, if there are any nodes.
 void makeFirst(DoubleLinkedListNode ln)
          Moves an existing node to the start of the link list.
 void makeLast(DoubleLinkedListNode ln)
          Moves an existing node to the end of the link list.
 boolean remove(DoubleLinkedListNode me)
          Removes the specified node from the link list.
 void removeAll()
          Remove all of the elements from the linked list implementation.
 DoubleLinkedListNode removeLast()
          Removes the specified node from the link list.
 int size()
          Returns the size of the list.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DoubleLinkedList

public DoubleLinkedList()
Default constructor.

Method Detail

addLast

public void addLast(DoubleLinkedListNode me)
Adds a new node to the end of the link list.

Parameters:
me - The feature to be added to the Last

addFirst

public void addFirst(DoubleLinkedListNode me)
Adds a new node to the start of the link list.

Parameters:
me - The feature to be added to the First

getLast

public DoubleLinkedListNode getLast()
Returns the last node from the link list, if there are any nodes.

Returns:
The last node.

getFirst

public DoubleLinkedListNode getFirst()
Removes the specified node from the link list.

Returns:
DoubleLinkedListNode, the first node.

makeFirst

public void makeFirst(DoubleLinkedListNode ln)
Moves an existing node to the start of the link list.

Parameters:
ln - The node to set as the head.

makeLast

public void makeLast(DoubleLinkedListNode ln)
Moves an existing node to the end of the link list.

Parameters:
ln - The node to set as the head.

removeAll

public void removeAll()
Remove all of the elements from the linked list implementation.


remove

public boolean remove(DoubleLinkedListNode me)
Removes the specified node from the link list.

Parameters:
me - Description of the Parameter
Returns:
true if an element was removed.

removeLast

public DoubleLinkedListNode removeLast()
Removes the specified node from the link list.

Returns:
The last node if there was one to remove.

size

public int size()
Returns the size of the list.

Returns:
int

debugDumpEntries

public void debugDumpEntries()
Dump the cache entries from first to list for debugging.



Copyright © 2002-2011 Apache Software Foundation. All Rights Reserved.