StopWatch
provides a convenient API for timings.
To start the watch, call {@link #start()}. At this point you can:
- {@link #split()} the watch to get the time whilst the watch continues in the background. {@link #unsplit()} willremove the effect of the split. At this point, these three options are available again.
- {@link #suspend()} the watch to pause it. {@link #resume()} allows the watch to continue. Any time between thesuspend and resume will not be counted in the total. At this point, these three options are available again.
- {@link #stop()} the watch to complete the timing session.
It is intended that the output methods {@link #toString()} and {@link #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()
This class is not thread-safe
@author Apache Software Foundation
@since 2.0
@version $Id: StopWatch.java 959577 2010-07-01 09:48:23Z sebb $