package cz.zah.util;
import java.io.Serializable;
/**
* Informace o stavu v CVS archivu
* $Author: zah $
* $Date: 2009/07/19 10:23:14 $
* $ Revision:$
* $State: Exp $
*
* Log zm\u011bn $Log: StopWatch.java,v $
* Log zm\u011bn Revision 1.1 2009/07/19 10:23:14 zah
* Log zm\u011bn Vychozi verze
* Log zm\u011bn
*/
/**
* T\u0159ída definuje stopky
*
* @author zah
* @version 0.01
*
* Zalo\u017eeno 19.7.2009 Sou\u010dást projektu ZAH base project
*/
public class StopWatch implements Serializable {
/**
* Pole serialVersionUID long
*/
private static final long serialVersionUID = 1386037045174657498L;
/**
* Konstruktor t\u0159ídy StopWatch
* @param startTime
* @param stopTime
*/
protected StopWatch(long startTime, long stopTime) {
super();
this.startTime = startTime;
this.stopTime = stopTime;
}
/**
* Pole startTime Long
*/
private long startTime;
/**
* Pole stopTime Long
*/
private long stopTime;
/**
* Konstruktor t\u0159ídy StopWatch
*
* @param startTime
*/
public StopWatch(long startTime) {
super();
setStartTime(startTime);
}
/**
* Konstruktor t\u0159ídy StopWatch
*/
public StopWatch() {
this(System.currentTimeMillis());
}
public Long getStartTime() {
return startTime;
}
public Long getStopTime() {
return stopTime;
}
public void setStartTime(long startTime) {
this.startTime = startTime;
this.stopTime = this.startTime;
}
public void setStopTime(long stopTime) {
this.stopTime = stopTime;
}
/**
* Metoda spusti stopky.
*/
public void start() {
setStartTime(System.currentTimeMillis());
}
/**
* Metoda zastavuje stopky
*/
public void stop() {
setStopTime(System.currentTimeMillis());
}
/**
* Metoda vraci uplynuly cas v milisekundach.
* @return long uplynuly cas v milisekundach.
*/
public long getInterval() {
return stopTime - startTime;
}
/**
* Metoda vraci instanci stopek s mezicasem
* @return mezicas StopWatch
*/
public StopWatch getMeantime(){
return new StopWatch(this.startTime, System.currentTimeMillis());
}
}