com.darwinsys.util
Class FixedLengthFIFO<T>

java.lang.Object
  extended by com.darwinsys.util.FixedLengthFIFO<T>
All Implemented Interfaces:
java.lang.Iterable<T>, java.util.Collection<T>, java.util.List<T>

public class FixedLengthFIFO<T>
extends java.lang.Object
implements java.util.List<T>

A Fixed-size FIFO. Development of this program was funded by the Toronto Centre for Phenogenomics (www.phenogenomics.ca). XXX Could reduce code size by basing on AbstractList.


Constructor Summary
FixedLengthFIFO(int size)
          Construct a FIFO of a fixed (maximum) length.
 
Method Summary
 void add(int index, T element)
           
 boolean add(T o)
          Add an element to the FIFO.
 boolean addAll(java.util.Collection c)
           
 boolean addAll(int index, java.util.Collection c)
           
 void clear()
           
 boolean contains(java.lang.Object o)
           
 boolean containsAll(java.util.Collection c)
           
 T get(int index)
           
 int hashCode()
           
 int indexOf(java.lang.Object o)
           
 boolean isEmpty()
           
 java.util.Iterator<T> iterator()
           
 int lastIndexOf(java.lang.Object o)
           
 java.util.ListIterator<T> listIterator()
           
 java.util.ListIterator<T> listIterator(int index)
           
 T remove(int i)
           
 boolean remove(java.lang.Object o)
          Remove the given element if it's still in the FIFO.
 boolean removeAll(java.util.Collection c)
           
 boolean retainAll(java.util.Collection c)
           
 T set(int index, T element)
           
 int size()
           
 java.util.List<T> subList(int fromIndex, int toIndex)
           
 java.lang.Object[] toArray()
           
<T> T[]
toArray(T[] a)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.List
equals
 

Constructor Detail

FixedLengthFIFO

public FixedLengthFIFO(int size)
Construct a FIFO of a fixed (maximum) length.

Parameters:
size - The maximum number of items to hold in the FIFO
Method Detail

size

public int size()
Specified by:
size in interface java.util.Collection<T>
Specified by:
size in interface java.util.List<T>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Collection<T>
Specified by:
isEmpty in interface java.util.List<T>

contains

public boolean contains(java.lang.Object o)
Specified by:
contains in interface java.util.Collection<T>
Specified by:
contains in interface java.util.List<T>

iterator

public java.util.Iterator<T> iterator()
Specified by:
iterator in interface java.lang.Iterable<T>
Specified by:
iterator in interface java.util.Collection<T>
Specified by:
iterator in interface java.util.List<T>

toArray

public java.lang.Object[] toArray()
Specified by:
toArray in interface java.util.Collection<T>
Specified by:
toArray in interface java.util.List<T>

toArray

public <T> T[] toArray(T[] a)
Specified by:
toArray in interface java.util.Collection<T>
Specified by:
toArray in interface java.util.List<T>

add

public boolean add(T o)
Add an element to the FIFO. Unlike a normal List, this FIFO will not grow indefinitely, but adding will not make the FIFO exceed its fixed size.

Specified by:
add in interface java.util.Collection<T>
Specified by:
add in interface java.util.List<T>
Parameters:
o -
Returns:
True, since you can always add one more object.

remove

public boolean remove(java.lang.Object o)
Remove the given element if it's still in the FIFO.

Specified by:
remove in interface java.util.Collection<T>
Specified by:
remove in interface java.util.List<T>
Parameters:
o - The element to be removed.

remove

public T remove(int i)
Specified by:
remove in interface java.util.List<T>

containsAll

public boolean containsAll(java.util.Collection c)
Specified by:
containsAll in interface java.util.Collection<T>
Specified by:
containsAll in interface java.util.List<T>

addAll

public boolean addAll(java.util.Collection c)
Specified by:
addAll in interface java.util.Collection<T>
Specified by:
addAll in interface java.util.List<T>

addAll

public boolean addAll(int index,
                      java.util.Collection c)
Specified by:
addAll in interface java.util.List<T>

removeAll

public boolean removeAll(java.util.Collection c)
Specified by:
removeAll in interface java.util.Collection<T>
Specified by:
removeAll in interface java.util.List<T>

retainAll

public boolean retainAll(java.util.Collection c)
Specified by:
retainAll in interface java.util.Collection<T>
Specified by:
retainAll in interface java.util.List<T>

clear

public void clear()
Specified by:
clear in interface java.util.Collection<T>
Specified by:
clear in interface java.util.List<T>

get

public T get(int index)
Specified by:
get in interface java.util.List<T>

set

public T set(int index,
             T element)
Specified by:
set in interface java.util.List<T>

add

public void add(int index,
                T element)
Specified by:
add in interface java.util.List<T>

indexOf

public int indexOf(java.lang.Object o)
Specified by:
indexOf in interface java.util.List<T>

lastIndexOf

public int lastIndexOf(java.lang.Object o)
Specified by:
lastIndexOf in interface java.util.List<T>

listIterator

public java.util.ListIterator<T> listIterator()
Specified by:
listIterator in interface java.util.List<T>

listIterator

public java.util.ListIterator<T> listIterator(int index)
Specified by:
listIterator in interface java.util.List<T>

subList

public java.util.List<T> subList(int fromIndex,
                                 int toIndex)
Specified by:
subList in interface java.util.List<T>

hashCode

public int hashCode()
Specified by:
hashCode in interface java.util.Collection<T>
Specified by:
hashCode in interface java.util.List<T>
Overrides:
hashCode in class java.lang.Object


Copyright © 1996-2004 Ian F. Darwin. See license.html for usage license.