/*
 *  Timer, by Joe Palen (1998)
 */

// Use java.lang.currentTimeMillis() ???

public class Timer extends Object {

   Long startTime = new Long(0);
   Long stopTime = new Long(0);
   Long elapsedTime = new Long(0);
   Long longZero = new Long(0);

   public void Timer(){
      // ??? anything to do in constructor ???
   }

   public void start() {
      startTime = new Long(System.currentTimeMillis());
      stopTime = new Long(0);
   }

   public void stop() {
      if( ! startTime.equals(longZero) ) {
         System.out.println("Timer.stop: updating stopTime... startTime != 0");
         stopTime = new Long(System.currentTimeMillis());
      } else {
         System.out.println("Timer.stop: doing nothing... startTime == 0");
      }
   }

   public void reset(){
      stopTime = new Long(0);
      startTime = new Long(0);
   }

   public Long getElapsedTime() {
      if (stopTime.longValue() > startTime.longValue()) {
         elapsedTime = new Long(stopTime.longValue() - startTime.longValue());
      } else {
         elapsedTime = new Long(0);
      }
       System.out.println("getElapsedTime: ms  elapsedTime=" + elapsedTime);
       elapsedTime = elapsedTime;
       System.out.println("getElapsedTime: sec elapsedTime=" + elapsedTime);
       return elapsedTime;
   }
}