Package org.cesilko.rachota.core
Class Clock
- java.lang.Object
-
- java.lang.Thread
-
- org.cesilko.rachota.core.Clock
-
- All Implemented Interfaces:
java.lang.Runnable
public class Clock extends java.lang.ThreadSystem clock ticking every second by default.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddListener(ClockListener listener)Adds new clock listener.static ClockgetDefault()Returns default instance of Clock object.booleanisTicking()Returns whether clock is ticking or not.voidremoveListener(ClockListener listener)Removes already registered clock listener.voidresumeClock()Starts clock again.voidrun()Main clock loop.voidsetTick(long tick)Sets period of one clock tick.voidsuspendClock()Temporarily stops clock.-
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
-
-
-
Method Detail
-
getDefault
public static Clock getDefault()
Returns default instance of Clock object. Tick period is initially set to 1000 ms.- Returns:
- The only instance of clock in the system.
-
setTick
public void setTick(long tick)
Sets period of one clock tick.- Parameters:
tick- Clock period i.e. time between two notifications to listeners.
-
addListener
public void addListener(ClockListener listener)
Adds new clock listener.- Parameters:
listener- Object who whats to be notified after each tick.
-
removeListener
public void removeListener(ClockListener listener)
Removes already registered clock listener.- Parameters:
listener- Object who no longer whats to be notified after each tick.
-
run
public void run()
Main clock loop. Nothing happens for given tick period and then all listeners are notified about that fact.- Specified by:
runin interfacejava.lang.Runnable- Overrides:
runin classjava.lang.Thread
-
suspendClock
public void suspendClock()
Temporarily stops clock.
-
resumeClock
public void resumeClock()
Starts clock again.
-
isTicking
public boolean isTicking()
Returns whether clock is ticking or not.- Returns:
- True if clock is ticking or false otherwise.
-
-