Mega Code Archive

 
Categories / Java / Development Class
 

Basic Timer

import java.util.*; /**  * @author Matthew D. Hicks  *  */ public class BasicTimer {   public static final int TYPE_CLOCK = 1;   public static final int TYPE_ELAPSED = 2;   public static final int TYPE_REMAINING = 3;   private int type;   private long start;   private long max;      public BasicTimer(int type) {     this.type = type;     start = System.currentTimeMillis();   }      public long getTime() {     if (type == TYPE_CLOCK) {       return System.currentTimeMillis();     } else if (type == TYPE_ELAPSED) {       return System.currentTimeMillis() - start;     } else if (type == TYPE_REMAINING) {       return max - (System.currentTimeMillis() - start);     }     throw new RuntimeException("Type does not match anything known: " + type);   }      public void setMax(long max) {     this.max = max;   }      public static void main(String[] args) throws Exception {     int type = TYPE_REMAINING;     BasicTimer timer = new BasicTimer(type);     timer.setMax(10000);     GregorianCalendar calendar = new GregorianCalendar();     while (true) {       Thread.sleep(1000);       if (type == TYPE_CLOCK) {         calendar.setTimeInMillis(timer.getTime());         System.out.println("Clock: " + calendar);       } else if (type == TYPE_ELAPSED) {         System.out.println("Elapsed: " + (timer.getTime() / 1000) + " seconds");       } else if (type == TYPE_REMAINING) {         System.out.println("Remaining: " + (timer.getTime() / 1000) + " seconds");       }     }   } }