org.apache.commons.lang.time
Class StopWatch

java.lang.Object
  extended byorg.apache.commons.lang.time.StopWatch

public class StopWatch
extends Object

StopWatch provides a convenient API for timings.

The methods do not protect against inappropriate calls. Thus you can call stop before start, resume before suspend or unsplit before split. The results are indeterminate in these cases.

To start the watch, call start(). At this point you can:

It is intended that the output methods toString() and getTime() should only be called after stop, split or suspend, however a suitable result will be returned at other points.

Since:
2.0
Version:
$Id: StopWatch.java,v 1.6 2003/08/18 02:22:25 bayard Exp $
Author:
Henri Yandell, Stephen Colebourne

Constructor Summary
StopWatch()
          Constructor.
 
Method Summary
 long getTime()
          Get the time on the stopwatch.
 void reset()
          Reset the stopwatch.
 void resume()
          Resume the stopwatch after a suspend.
 void split()
          Split the time.
 void start()
          Start the stopwatch.
 void stop()
          Stop the stopwatch.
 void suspend()
          Suspend the stopwatch for later resumption.
 String toString()
          Gets a summary of the time that the stopwatch recorded as a string.
 void unsplit()
          Remove a split.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StopWatch

public StopWatch()

Constructor.

Method Detail

start

public void start()

Start the stopwatch.

This method starts a new timing session, clearing any previous values.


stop

public void stop()

Stop the stopwatch.

This method ends a new timing session, allowing the time to be retrieved.


reset

public void reset()

Reset the stopwatch.

This method clears the internal values to allow the object to be reused.


split

public void split()

Split the time.

This method sets the stop time of the watch to allow a time to be extracted. The start time is unaffected, enabling unsplit() to contine the timing from the original start point.


unsplit

public void unsplit()

Remove a split.

This method clears the stop time. The start time is unaffected, enabling timing from the original start point to continue.


suspend

public void suspend()

Suspend the stopwatch for later resumption.

This method suspends the watch until it is resumed. The watch will not include time between the suspend and resume calls in the total time.


resume

public void resume()

Resume the stopwatch after a suspend.

This method resumes the watch after it was suspended. The watch will not include time between the suspend and resume calls in the total time.


getTime

public long getTime()

Get the time on the stopwatch.

This is either the time between start and latest split, between start and stop, or the time between the start and the moment this method is called.

Returns:
the time in milliseconds

toString

public String toString()

Gets a summary of the time that the stopwatch recorded as a string.

The format used is ISO8601-like, hours:minutes:seconds.milliseconds.

Returns:
the time as a String


Copyright © 2001-2003 - Apache Software Foundation