package busthreaded;

import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * @author Daniel "3ICE" Berezvai
 */
public class Clock { //Ide egy "extends Timer" egyszerűbb lenne. De már késő.

private Calendar calendar;
private Timer timer;

private Clock() {
  calendar = Calendar.getInstance();
  timer = new Timer();
}

public static Clock getInstance() {
  return ClockHolder.INSTANCE;
}

private static class ClockHolder {

private static final Clock INSTANCE = new Clock();
}

public void start() {
  timer.schedule(new TimerTask() {
  @Override
  public void run() {
    calendar.add(Calendar.MINUTE, 1);
  }
  }, 100, 100);

}

public void stop() {
  timer.cancel();
}

public void setClock(int hour, int minute) {
  calendar.set(Calendar.HOUR, hour);
  calendar.set(Calendar.MINUTE, minute);
}

public Date getTime() {
  return calendar.getTime();
}

@Override
public String toString() {
  return calendar.get(Calendar.HOUR) + ":" + calendar.get(Calendar.MINUTE);
}
}
