jdsl.core.ref
Class FastEnumerationNodeSequence

java.lang.Object
  |
  +--jdsl.core.ref.NodeSequence
        |
        +--jdsl.core.ref.FastEnumerationNodeSequence

public class FastEnumerationNodeSequence
extends NodeSequence

This class implements the sequence interface using a double-linked list of nodes. It also serves as a very fast, high quality Enumeration.

Author:
Mike Boilen (mgb)
See Also:
NodeSequence

Constructor Summary
FastEnumerationNodeSequence()
           
 
Method Summary
 java.util.Enumeration elements()
           
 Position insertAfter(Position p, java.lang.Object element)
           
 Position insertAtRank(int rank, java.lang.Object element)
           
 Position insertBefore(Position p, java.lang.Object element)
           
 Position insertFirst(java.lang.Object element)
           
 Position insertLast(java.lang.Object element)
           
 Container newContainer()
           
 java.util.Enumeration positions()
           
 java.lang.Object remove(Position p)
           
 java.lang.Object removeAfter(Position p)
           
 java.lang.Object removeAtRank(int i)
           
 java.lang.Object removeBefore(Position p)
           
 java.lang.Object removeFirst()
           
 java.lang.Object removeLast()
           
 java.lang.Object replace(Position p, java.lang.Object element)
           
 void swap(Position a, Position b)
           
 
Methods inherited from class jdsl.core.ref.NodeSequence
after, atRank, before, first, isEmpty, last, rankOf, size
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FastEnumerationNodeSequence

public FastEnumerationNodeSequence()
Method Detail

insertBefore

public Position insertBefore(Position p,
                             java.lang.Object element)
Overrides:
insertBefore in class NodeSequence

insertAfter

public Position insertAfter(Position p,
                            java.lang.Object element)
Overrides:
insertAfter in class NodeSequence

insertFirst

public Position insertFirst(java.lang.Object element)
Overrides:
insertFirst in class NodeSequence

insertLast

public Position insertLast(java.lang.Object element)
Overrides:
insertLast in class NodeSequence

insertAtRank

public Position insertAtRank(int rank,
                             java.lang.Object element)
Overrides:
insertAtRank in class NodeSequence

remove

public java.lang.Object remove(Position p)
Overrides:
remove in class NodeSequence

replace

public java.lang.Object replace(Position p,
                                java.lang.Object element)
Overrides:
replace in class NodeSequence

swap

public void swap(Position a,
                 Position b)
Overrides:
swap in class NodeSequence

removeAtRank

public java.lang.Object removeAtRank(int i)
Overrides:
removeAtRank in class NodeSequence

removeBefore

public java.lang.Object removeBefore(Position p)
Overrides:
removeBefore in class NodeSequence

removeAfter

public java.lang.Object removeAfter(Position p)
Overrides:
removeAfter in class NodeSequence

removeFirst

public java.lang.Object removeFirst()
Overrides:
removeFirst in class NodeSequence

removeLast

public java.lang.Object removeLast()
Overrides:
removeLast in class NodeSequence

newContainer

public Container newContainer()
Overrides:
newContainer in class NodeSequence

elements

public java.util.Enumeration elements()
Overrides:
elements in class NodeSequence

positions

public java.util.Enumeration positions()
Overrides:
positions in class NodeSequence