public void execute(long t) { if (!hasMillisecondObservers) { return; } millisecondObservable.newMillisecond(getSimulationTime()); scheduleEvent(this, t + MILLISECOND); }
/** * Add millisecond observer. This observer is notified once every simulated millisecond. * * @see #deleteMillisecondObserver(Observer) * @param newObserver Observer */ public void addMillisecondObserver(Observer newObserver) { millisecondObservable.addObserver(newObserver); hasMillisecondObservers = true; invokeSimulationThread( new Runnable() { public void run() { if (!millisecondEvent.isScheduled()) { scheduleEvent( millisecondEvent, currentSimulationTime - (currentSimulationTime % MILLISECOND) + MILLISECOND); } } }); }
public String toString() { return "MILLISECOND: " + millisecondObservable.countObservers(); }
/** * Delete millisecond observer. * * @see #addMillisecondObserver(Observer) * @param observer Observer to delete */ public void deleteMillisecondObserver(Observer observer) { millisecondObservable.deleteObserver(observer); hasMillisecondObservers = millisecondObservable.countObservers() > 0; }