FileDocCategorySizeDatePackage
Radar.javaAPI DocExample1414Sun Feb 13 17:12:30 GMT 2000gui2000

Radar.java

/*   
 * 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 )
         {}                  
      }
   }
}