
public class Clock extends Thread {
	Clocker mainObj;							// object to be triggered
	
	volatile boolean keepRunning = true;
	
	volatile int _interval = 1;
	
	public Clock(Clocker obj, int intervalInMs){
		setDaemon(true);
		this.mainObj 	= obj;
		this._interval 	= intervalInMs;
	}
	
	public void run(){
		while(keepRunning){
			try{ 
				mainObj.trigger();					// trigger!
				
				Thread.sleep(_interval); 			// and sleep (interval) msec 
			} catch(InterruptedException e){
				return;
			}
		}
	}
	
	public void startStop(boolean v){ keepRunning = v; }	
	public void setInterval(int intervalInMs){ _interval = intervalInMs; }
}