mev-4.0.01/source/org/tigr/remote/gateway/util/Queue.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2 Copyright @ 1999-2003, The Institute for Genomic Research (TIGR).
2 26 Feb 07 jari 3 All rights reserved.
2 26 Feb 07 jari 4 */
2 26 Feb 07 jari 5 /*
2 26 Feb 07 jari 6  * $RCSfile: Queue.java,v $
2 26 Feb 07 jari 7  * $Revision: 1.4 $
2 26 Feb 07 jari 8  * $Date: 2006/02/23 21:00:01 $
2 26 Feb 07 jari 9  * $Author: caliente $
2 26 Feb 07 jari 10  * $State: Exp $
2 26 Feb 07 jari 11  */
2 26 Feb 07 jari 12 package org.tigr.remote.gateway.util;
2 26 Feb 07 jari 13
2 26 Feb 07 jari 14 import java.util.ArrayList;
2 26 Feb 07 jari 15 import java.util.Collection;
2 26 Feb 07 jari 16 import java.util.Iterator;
2 26 Feb 07 jari 17
2 26 Feb 07 jari 18 public class Queue implements IQueue {
2 26 Feb 07 jari 19
2 26 Feb 07 jari 20     /**
2 26 Feb 07 jari 21      * Constructs a <code>Queue</code>.
2 26 Feb 07 jari 22      */
2 26 Feb 07 jari 23     public Queue() {
2 26 Feb 07 jari 24         list = new ArrayList();
2 26 Feb 07 jari 25     }
2 26 Feb 07 jari 26
2 26 Feb 07 jari 27     /**
2 26 Feb 07 jari 28      * Returns true if this queue is empty.
2 26 Feb 07 jari 29      */
2 26 Feb 07 jari 30     public boolean isEmpty() {
2 26 Feb 07 jari 31         return list.isEmpty();
2 26 Feb 07 jari 32     }
2 26 Feb 07 jari 33
2 26 Feb 07 jari 34     /**
2 26 Feb 07 jari 35      * Returns first object from this queue.
2 26 Feb 07 jari 36      */
2 26 Feb 07 jari 37     public Object getHead() {
2 26 Feb 07 jari 38         if (isEmpty()) return null;
2 26 Feb 07 jari 39         Object head = list.get(0);
2 26 Feb 07 jari 40         list.remove(0);
2 26 Feb 07 jari 41         return head;
2 26 Feb 07 jari 42     }
2 26 Feb 07 jari 43
2 26 Feb 07 jari 44     /**
2 26 Feb 07 jari 45      * Adds an object to the end of this queue.
2 26 Feb 07 jari 46      */
2 26 Feb 07 jari 47     public void addTail(Object o) {
2 26 Feb 07 jari 48         list.add(o);
2 26 Feb 07 jari 49     }
2 26 Feb 07 jari 50
2 26 Feb 07 jari 51     /**
2 26 Feb 07 jari 52      * Removes all elements from this queue.
2 26 Feb 07 jari 53      */
2 26 Feb 07 jari 54     public void clear() {
2 26 Feb 07 jari 55         list.clear();
2 26 Feb 07 jari 56     }
2 26 Feb 07 jari 57
2 26 Feb 07 jari 58     /**
2 26 Feb 07 jari 59      * Returns an iterator over the elements in this queue in proper
2 26 Feb 07 jari 60      * sequence.
2 26 Feb 07 jari 61      */
2 26 Feb 07 jari 62     public Iterator iterator() {
2 26 Feb 07 jari 63         return list.iterator();
2 26 Feb 07 jari 64     }
2 26 Feb 07 jari 65
2 26 Feb 07 jari 66     /**
2 26 Feb 07 jari 67      * Adds collection to the end of this queue.
2 26 Feb 07 jari 68      */
2 26 Feb 07 jari 69     public void addTail(Collection col) {
2 26 Feb 07 jari 70         list.addAll(col);
2 26 Feb 07 jari 71     }
2 26 Feb 07 jari 72
2 26 Feb 07 jari 73     /**
2 26 Feb 07 jari 74      * Adds collection to the head of this queue.
2 26 Feb 07 jari 75      */
2 26 Feb 07 jari 76     public void addHead(Collection col) {
2 26 Feb 07 jari 77         list.addAll(0, col);
2 26 Feb 07 jari 78     }
2 26 Feb 07 jari 79
2 26 Feb 07 jari 80     /**
2 26 Feb 07 jari 81      * Creates clone of this queue.
2 26 Feb 07 jari 82      */
2 26 Feb 07 jari 83     public Collection makeCopy() {
2 26 Feb 07 jari 84         return(Collection)list.clone();
2 26 Feb 07 jari 85     }
2 26 Feb 07 jari 86
2 26 Feb 07 jari 87     /**
2 26 Feb 07 jari 88      * Returns size of this queue.
2 26 Feb 07 jari 89      */
2 26 Feb 07 jari 90     public int getSize() { return list.size();}
2 26 Feb 07 jari 91
2 26 Feb 07 jari 92     private ArrayList list;
2 26 Feb 07 jari 93 }