// (c) MIT 2003.  All rights reserved.

////////////////////////////////////////////////////////////////////////////////
//
// FILE:	Queue.java
//
// AUTHOR:	Manoj D. Muzumdar
//		archon@ai.mit.edu
//
// DATE:	June, 1998
//
// COPYRIGHT:	Massachusetts Institute of Technology
//		All rights reserved.
//
// PURPOSE:	Utility class
//
////////////////////////////////////////////////////////////////////////////////

package rec.util;

import java.io.*;
import java.util.*;

public class Queue implements Serializable
{
  public Queue()
  {
    list = new Vector();
  }

  /////////////////////////////////////////////////////////////////////////////

  public boolean isEmpty()
  {
    return( list.isEmpty() );
  }

  public void append( Object o )
  {
    Assert.check( o != null, "null object in queue" );
    //    list.addTail( o );
    list.addElement( o );
  }

  public void prepend( Object o )
  {
    list.insertElementAt( o, 0 );
    //    list.addHead( o );
  }

  public Object remove()
  {
    Object o = list.elementAt( 0 );
    list.removeElementAt( 0 );
    return o;
    //return( list.removeHead() );
  }

  public void remove( Object o )
  {
    list.removeElement( o );
  }

  public boolean contains( Object o )
  {
    return list.contains( o );
    /*if Iterator e = list.getForwardIterator();
    if ( e == null )
      return false;

    while ( e.hasNext() )
      if ( ( e.next() ).equals( o ) )
	return true;

    return false;*/
  }

    public String toString(){
	String returnMe = "[";

	for (int i = 0; i <list.size(); i++){
	    returnMe += list.get(i) + " ";
	}
	
	returnMe+="]";
	
	return returnMe;
    }

  /////////////////////////////////////////////////////////////////////////////

  private Vector list;
}


////////////////////////////////////////////////////////////////////////////////



