package net.sf.openrocket.simulation; import java.util.PriorityQueue; import net.sf.openrocket.util.Monitorable; /** * A sorted queue of FlightEvent objects. This queue maintains the events in time order * and also keeps a modification count for the queue. * * @author Sampo Niskanen <sampo.niskanen@iki.fi> */ public class EventQueue extends PriorityQueue<FlightEvent> implements Monitorable { private int modID = 0; public EventQueue() { super(); } public EventQueue(PriorityQueue<? extends FlightEvent> c) { super(c); } @Override public boolean add(FlightEvent e) { modID++; return super.add(e); } @Override public void clear() { modID++; super.clear(); } @Override public boolean offer(FlightEvent e) { modID++; return super.offer(e); } @Override public FlightEvent poll() { modID++; return super.poll(); } @Override public boolean remove(Object o) { modID++; return super.remove(o); } @Override public int getModID() { return modID; } @Override protected Object clone() throws CloneNotSupportedException { // TODO Auto-generated method stub return super.clone(); } }