gshute.util
Class ListDispenser

java.lang.Object
  |
  +--gshute.util.ListDispenser

public class ListDispenser
extends java.lang.Object
implements Dispenser

The ListDispenser class is a factory for Dispenser that are implemented with a java.util.ArrayList. The only useful methods in this class are the static create methods.


Field Summary
protected  Reporter addReporter
           
protected  java.util.ArrayList entries
           
protected  Reporter removeReporter
           
 
Constructor Summary
protected ListDispenser()
          This constructor is disabled.
 
Method Summary
 void add(java.lang.Object o)
          disp.add(dat) adds dat to disp.
protected  int addIndex(java.lang.Object o)
          addIndex(o) returns the index at which o should be added to this list dispenser.
 void clear()
          disp.clear() removes all entries from disp.
static ListDispenser createPrioritizedQueue(java.util.Comparator comp)
          ListDispenser.createPrioritizedQueue(c) returns a new prioritized queue that uses c for comparing priorities.
static ListDispenser createQueue()
          ListDispenser.createQueue() returns a new queue (FIFO Dispenser).
static ListDispenser createRandomizedQueue()
          ListDispenser.createRandomizedQueue() returns a new randomized dispenser.
static ListDispenser createRandomizedQueue(long s)
          ListDispenser.createRandomizedDispenser(s) returns a new randomized dispenser.
static ListDispenser createStack()
          ListDispenser.createStack() returns a new stack (LIFO Dispenser).
 java.lang.Object data()
          disp.data() returns the accessible entry of disp.
 java.util.Iterator iterator()
          disp.iterator() returns an iterator for the entries of disp.
 boolean more()
          disp.more() returns true if there are more entries in disp.
 void remove()
          disp.remove() removes the accessible entry from disp.
 void setAddReporter(Reporter r)
          disp.setAddReporter(r) set the add reporter of disp to r.
 void setRemoveReporter(Reporter r)
          disp.setRemoveReporter(r) set the remove reporter of disp to r.
 int size()
          disp.size() returns the number of entries in disp.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

addReporter

protected Reporter addReporter

removeReporter

protected Reporter removeReporter

entries

protected java.util.ArrayList entries
Constructor Detail

ListDispenser

protected ListDispenser()
This constructor is disabled. Dispensers should be created by invoking the appropriate static create method.
Method Detail

more

public boolean more()
disp.more() returns true if there are more entries in disp.
Specified by:
more in interface Dispenser

size

public int size()
disp.size() returns the number of entries in disp.
Specified by:
size in interface Dispenser

add

public void add(java.lang.Object o)
disp.add(dat) adds dat to disp.
Specified by:
add in interface Dispenser

data

public java.lang.Object data()
disp.data() returns the accessible entry of disp.

Precondition: disp.more() is true

Specified by:
data in interface Dispenser

remove

public void remove()
disp.remove() removes the accessible entry from disp.

Precondition: disp.more() is true

Specified by:
remove in interface Dispenser

clear

public void clear()
disp.clear() removes all entries from disp.
Specified by:
clear in interface Dispenser

iterator

public java.util.Iterator iterator()
disp.iterator() returns an iterator for the entries of disp.
Specified by:
iterator in interface Dispenser

setAddReporter

public void setAddReporter(Reporter r)
disp.setAddReporter(r) set the add reporter of disp to r. If r is null then no add reporting is done.

setRemoveReporter

public void setRemoveReporter(Reporter r)
disp.setRemoveReporter(r) set the remove reporter of disp to r. If r is null then no remove reporting is done.

addIndex

protected int addIndex(java.lang.Object o)
addIndex(o) returns the index at which o should be added to this list dispenser.

createStack

public static ListDispenser createStack()
ListDispenser.createStack() returns a new stack (LIFO Dispenser).

createQueue

public static ListDispenser createQueue()
ListDispenser.createQueue() returns a new queue (FIFO Dispenser).

createPrioritizedQueue

public static ListDispenser createPrioritizedQueue(java.util.Comparator comp)
ListDispenser.createPrioritizedQueue(c) returns a new prioritized queue that uses c for comparing priorities.

createRandomizedQueue

public static ListDispenser createRandomizedQueue(long s)
ListDispenser.createRandomizedDispenser(s) returns a new randomized dispenser. The randomizer seed is s.

createRandomizedQueue

public static ListDispenser createRandomizedQueue()
ListDispenser.createRandomizedQueue() returns a new randomized dispenser. The randomizer seed is set from the time.