//  conceptGO Open Source - www.conceptGO.com
//  copyright (c)  2002, conceptGO
//
//  This software is licensed under the 
//  conceptGO Open Source License, available 
//  at http://www.conceptgo.com/cgooslicense.html
//

import java.util.*;

/**
 *  The OS_ElapsedTime class provides a simple 
 *  means to track beginning, ending, and  
 *  elapsed milliseconds.  It also provides 
 *  methods to print beginning and ending time.
 *  

* Standard usage:

* * @author Joe Sam Shirah * */ public class OS_ElapsedTime { private long lBegin, lEnd; /** * No arg constructor */ public OS_ElapsedTime() {} // end constructor /** * Captures the current millis and sets both * begin and end variables to that value. */ public void begin() { lEnd = lBegin = System.currentTimeMillis(); } // end begin /** * Sets the begin value, then prints * the begin value as millis. * . * @see #begin() * @see #printBeginMillis() */ public void beginAndPrintBeginMillis() { begin(); printBeginMillis(); } // end beginAndPrintBeginMillis /** * Sets the begin value, then prints * the begin value as a java.util.Date. * * @see #begin() * @see #printBeginTime() */ public void beginAndPrintBeginTime() { begin(); printBeginTime(); } // end beginAndPrintBeginTime /** * Captures the current millis and sets * the end variable to that value. */ public void end() { lEnd = System.currentTimeMillis(); } // end end /** * Sets the end value, then prints * the value of ( end - begin ) * as millis. * * @see #end() * @see #printElapsedMillis() */ public void endAndPrintElapsedMillis() { end(); printElapsedMillis(); } // end endAndPrintElapsedMillis /** * Sets the end value, then prints * the end value as millis. * * @see #end() * @see #printElapsedMillis() */ public void endAndPrintEndMillis() { end(); printEndMillis(); } // end endAndPrintEndMillis /** * Sets the end value, then prints * the end value as a java.util.Date. * * @see #end() * @see #printEndTime() */ public void endAndPrintEndTime() { end(); printEndTime(); } // end endAndPrintEndTime /** * Get the begin value as millis. */ public long getBeginMillis() { return lBegin; } // end getBeginMillis /** * Get the begin value as a java.util.Date. */ public Date getBeginTime() { return new Date( lBegin ); } // end getBeginTime /** * Get the ( end - begin ) value as millis. */ public long getElapsedMillis() { return lEnd - lBegin; } // end getElapsedMillis /** * Get the end value as millis. */ public long getEndMillis() { return lEnd; } // end getEndMillis /** * Get the end value as a java.util.Date. */ public Date getEndTime() { return new Date( lEnd ); } // end getEndTime /** * Print the begin value as millis. */ public void printBeginMillis() { System.out.println( "Begin: " + getBeginMillis() ); } // end printBeginMillis /** * Print the begin value as a java.util.Date. */ public void printBeginTime() { System.out.println( "Begin: " + getBeginTime() ); } // end printBeginTime /** * Print the ( end - begin ) value as millis. */ public void printElapsedMillis() { System.out.println( "Elapsed: " + getElapsedMillis() ); } // end printElapsedMillis /** * Print the end value as millis. */ public void printEndMillis() { System.out.println( "End: " + getEndMillis() ); } // end printEndMillis /** * Print the end value as a java.util.Date. */ public void printEndTime() { System.out.println( "End: " + getEndTime() ); } // end printEndTime /** * main exercises the class. No args required. */ public static void main(String []args) { OS_ElapsedTime et = new OS_ElapsedTime(); try { System.out.println( "call begin()." ); et.begin(); System.out.println( "getBeginMillis(): " + et.getBeginMillis() ); System.out.println( "getBeginTime(): " + et.getBeginTime() ); System.out.println( "getEndMillis(): " + et.getEndMillis() ); System.out.println( "getEndTime(): " + et.getEndTime() ); System.out.println( "Sleep 500" ); Thread.sleep( 500 ); System.out.println( "beginAndPrintBeginMillis(): " ); et.beginAndPrintBeginMillis(); System.out.println( "printBeginMillis(): " ); et.printBeginMillis(); System.out.println( "Sleep 500" ); Thread.sleep( 500 ); System.out.println( "beginAndPrintBeginTime(): " ); et.beginAndPrintBeginTime(); System.out.println( "printBeginTime(): " ); et.printBeginTime(); System.out.println( "Sleep 1000" ); Thread.sleep( 1000 ); System.out.println( "call end()." ); et.end(); System.out.println( "getBeginMillis(): " + et.getBeginMillis() ); System.out.println( "getBeginTime(): " + et.getBeginTime() ); System.out.println( "getEndMillis(): " + et.getEndMillis() ); System.out.println( "getEndTime(): " + et.getEndTime() ); System.out.println( "printElapsedMillis(): " ); et.printElapsedMillis(); } catch( Exception e) {} } // end main } // end class OS_ElapsedTime

Copyright © 2000-2002, conceptGO