/*
* File: Radar.java
*/
/**
* This package contains the files that support the GUI
* assignment for Semester 2 - 2000
*/
package gui2000;
import java.util.*;
/**
* The <code>Radar</code> class maintains contact with all the aircraft in
* a particular simulated airspace. At 2 second intervals it passes a
* <code>Vector</code> of <code>AircraftData</code> objects to its
* Observers.
*
* @author T Balls
* @version 0.1, 12-12-99
*
* @see gui2000.AirSpace
* @see gui2000.AircraftData
*/
public class Radar extends java.util.Observable
implements java.lang.Runnable
{ public Radar( Vector aircraft )
{ this.aircraft = aircraft;
}
/**@shapeType AggregationLink
@associates <b>Aircraft</b>*/
private Vector aircraft = null;
/** @supplierCardinality 0..*
@associates <b>AircraftData</b>*/
private Vector aircraftData = null;
private boolean running = true;
public void run()
{ while( running )
{ aircraftData = new Vector();
for( int i = 0; i < aircraft.size(); i++ )
{ aircraftData.addElement( ((Aircraft)(aircraft.elementAt(i))).getData() );
}
setChanged();
notifyObservers( aircraftData );
try
{ Thread.sleep( 2000 );
}
catch( InterruptedException ie )
{}
}
}
}
|