org.apache.commons.lang.time
public class StopWatch extends Object
StopWatch
provides a convenient API for timings.
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.
NOTE: As from v2.1, the methods protect against inappropriate calls. Thus you cannot now call stop before start, resume before suspend or unsplit before split.
1. split(), suspend(), or stop() cannot be invoked twice
2. unsplit() may only be called if the watch has been split()
3. resume() may only be called if the watch has been suspend()
4. start() cannot be called twice without calling reset()
Since: 2.0
Version: $Id: StopWatch.java 504351 2007-02-06 22:49:50Z bayard $
Constructor Summary | |
---|---|
StopWatch() Constructor. |
Method Summary | |
---|---|
long | getSplitTime() Get the split time on the stopwatch. This is the time between start and latest split. |
long | getTime() Get the time on the stopwatch. This is either the time between the start and the moment this method is called, or the amount of time between start and stop. |
void | reset() Resets the stopwatch. |
void | resume() Resume the stopwatch after a suspend. This method resumes the watch after it was suspended. |
void | split() Split the time. This method sets the stop time of the watch to allow a time to be extracted. |
void | start() Start the stopwatch. This method starts a new timing session, clearing any previous values. |
void | stop() Stop the stopwatch. This method ends a new timing session, allowing the time to be retrieved. |
void | suspend() Suspend the stopwatch for later resumption. This method suspends the watch until it is resumed. |
String | toSplitString() Gets a summary of the split time that the stopwatch recorded as a string. The format used is ISO8601-like, hours:minutes:seconds.milliseconds. |
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. |
void | unsplit() Remove a split. This method clears the stop time. |
Constructor.
Get the split time on the stopwatch.
This is the time between start and latest split.
Returns: the split time in milliseconds
Throws: IllegalStateException if the StopWatch has not yet been split.
Since: 2.1
Get the time on the stopwatch.
This is either the time between the start and the moment this method is called, or the amount of time between start and stop.
Returns: the time in milliseconds
Resets the stopwatch. Stops it if need be.
This method clears the internal values to allow the object to be reused.
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.
Throws: IllegalStateException if the StopWatch has not been suspended.
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 continue the timing from the original start point.
Throws: IllegalStateException if the StopWatch is not running.
Start the stopwatch.
This method starts a new timing session, clearing any previous values.
Throws: IllegalStateException if the StopWatch is already running.
Stop the stopwatch.
This method ends a new timing session, allowing the time to be retrieved.
Throws: IllegalStateException if the StopWatch is not running.
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.
Throws: IllegalStateException if the StopWatch is not currently running.
Gets a summary of the split time that the stopwatch recorded as a string.
The format used is ISO8601-like, hours:minutes:seconds.milliseconds.
Returns: the split time as a String
Since: 2.1
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
Remove a split.
This method clears the stop time. The start time is unaffected, enabling timing from the original start point to continue.
Throws: IllegalStateException if the StopWatch has not been split.