package javacodebook.core.stopwatch;

/**
 * Eine einfachste Stoppuhr auf Basis von Millisekunden.
 * @author Mark Donnermeyer
 */
public final class StopWatch {
    long startTime = 0;
    long stopTime  = 0;
    
    public StopWatch() {
        startTime = stopTime = System.currentTimeMillis();
    }
    
    /**
     * Startet die Zeitmessung
     */
    public void start() {
        startTime = System.currentTimeMillis();
    }
    
    /**
     * Setzt eine Stop-Marke. Die Zeitrechnung läuft weiter.
     */
    public void stop() {
        stopTime = System.currentTimeMillis();
    }
    
    /**
     * Berechnet die zeitliche Differenz zwischen der 
     * Startzeit und der letzten gesetzten Stop-Marke.
     */
    public long getDelta() {
        return stopTime-startTime;
    }
}
