public abstract class AbstractClock
extends java.lang.Object
implements jadex.bridge.service.types.clock.IClock
Modifier and Type | Field and Description |
---|---|
protected long |
currenttime
The current time (last measurement).
|
static long |
DEFAULT_DELTA
The default delta (tick time).
|
protected long |
delta
The clock tick delta (relative to base time).
|
protected java.util.List |
listeners
The change listeners.
|
protected java.lang.String |
name
The clock name.
|
protected long |
starttime
The start time (model time).
|
protected java.lang.String |
state
The clock state.
|
protected Timer |
ticktimer
The tick timer.
|
protected java.util.List |
ticktimers
The tick timers.
|
java.util.SortedSet |
timers
The timers (entries ordered by timepoint).
|
EVENT_TYPE_NEW_DELTA, EVENT_TYPE_NEW_DILATION, EVENT_TYPE_NEXT_TIMEPOINT, EVENT_TYPE_RESET, EVENT_TYPE_STARTED, EVENT_TYPE_STOPPED, EVENT_TYPE_TIMER_ADDED, EVENT_TYPE_TIMER_REMOVED, STATE_RUNNING, STATE_SUSPENDED, TYPE_CONTINUOUS, TYPE_EVENT_DRIVEN, TYPE_SYSTEM, TYPE_TIME_DRIVEN
Constructor and Description |
---|
AbstractClock(java.lang.String name,
long starttime,
long delta)
Create a new clock.
|
Modifier and Type | Method and Description |
---|---|
protected void |
activateTickTimer()
Activate the tick timer.
|
void |
addChangeListener(jadex.commons.IChangeListener listener)
Add a change listener.
|
void |
addTickTimer(jadex.bridge.service.types.clock.ITimer timer)
Add a tick timer.
|
void |
addTimer(jadex.bridge.service.types.clock.ITimer timer)
Add a timer.
|
protected void |
copyFromClock(jadex.bridge.service.types.clock.IClock oldclock)
Transfer state from another clock to this clock.
|
jadex.bridge.service.types.clock.ITimer |
createTickTimer(jadex.bridge.service.types.clock.ITimedObject to)
Create a new tick timer.
|
jadex.bridge.service.types.clock.ITimer |
createTimer(long timespan,
jadex.bridge.service.types.clock.ITimedObject to)
Create a new timer.
|
void |
dispose()
Called, when the clock is no longer used.
|
long |
getDelta()
Get the clock delta.
|
java.lang.String |
getName()
Get the current time.
|
jadex.bridge.service.types.clock.ITimer |
getNextTimer()
Get the next timer.
|
long |
getStarttime()
Get the clocks start time.
|
java.lang.String |
getState()
Get the clock state.
|
double |
getTick()
Get the current tick.
|
jadex.bridge.service.types.clock.ITimer[] |
getTickTimers()
Get all active tick timers.
|
long |
getTime()
Get the clocks name.
|
jadex.bridge.service.types.clock.ITimer[] |
getTimers()
Get all active timers.
|
protected boolean |
hasListeners()
Check if the clock has listeners.
|
protected void |
notifyListeners(jadex.commons.ChangeEvent ce)
Notify the listeners.
|
void |
removeChangeListener(jadex.commons.IChangeListener listener)
Remove a change listener.
|
void |
removeTickTimer(jadex.bridge.service.types.clock.ITimer timer)
Remove a tick timer.
|
void |
removeTimer(jadex.bridge.service.types.clock.ITimer timer)
Remove a timer.
|
void |
reset()
Reset the clock.
|
void |
setDelta(long delta)
Set the clock delta.
|
void |
setStarttime(long starttime)
Set the clocks start time.
|
void |
shutdown(jadex.commons.future.IResultListener listener)
Shutdown the service.
|
void |
start()
Start the clock.
|
void |
stop()
Stop the clock.
|
public static final long DEFAULT_DELTA
protected java.lang.String name
protected long starttime
protected long currenttime
protected long delta
protected java.lang.String state
protected java.util.List ticktimers
public java.util.SortedSet timers
protected Timer ticktimer
protected java.util.List listeners
public AbstractClock(java.lang.String name, long starttime, long delta)
protected void copyFromClock(jadex.bridge.service.types.clock.IClock oldclock)
public void dispose()
dispose
in interface jadex.bridge.service.types.clock.IClock
public java.lang.String getName()
getName
in interface jadex.bridge.service.types.clock.IClock
public long getStarttime()
getStarttime
in interface jadex.bridge.service.types.clock.IClock
public void setStarttime(long starttime)
setStarttime
in interface jadex.bridge.service.types.clock.IClock
public long getTime()
getTime
in interface jadex.bridge.service.types.clock.IClock
public double getTick()
getTick
in interface jadex.bridge.service.types.clock.IClock
public long getDelta()
getDelta
in interface jadex.bridge.service.types.clock.IClock
public void setDelta(long delta)
setDelta
in interface jadex.bridge.service.types.clock.IClock
public jadex.bridge.service.types.clock.ITimer getNextTimer()
getNextTimer
in interface jadex.bridge.service.types.clock.IClock
public java.lang.String getState()
getState
in interface jadex.bridge.service.types.clock.IClock
public void start()
start
in interface jadex.bridge.service.types.clock.IClock
public void stop()
stop
in interface jadex.bridge.service.types.clock.IClock
public void reset()
reset
in interface jadex.bridge.service.types.clock.IClock
public jadex.bridge.service.types.clock.ITimer createTimer(long timespan, jadex.bridge.service.types.clock.ITimedObject to)
createTimer
in interface jadex.bridge.service.types.clock.IClock
timespan
- The timespan.to
- The timed object.public jadex.bridge.service.types.clock.ITimer createTickTimer(jadex.bridge.service.types.clock.ITimedObject to)
createTickTimer
in interface jadex.bridge.service.types.clock.IClock
to
- The timed object.info
- Optional info object.public jadex.bridge.service.types.clock.ITimer[] getTimers()
getTimers
in interface jadex.bridge.service.types.clock.IClock
public jadex.bridge.service.types.clock.ITimer[] getTickTimers()
getTickTimers
in interface jadex.bridge.service.types.clock.IClock
public void addTimer(jadex.bridge.service.types.clock.ITimer timer)
addTimer
in interface jadex.bridge.service.types.clock.IClock
timer
- The timer.public void removeTimer(jadex.bridge.service.types.clock.ITimer timer)
removeTimer
in interface jadex.bridge.service.types.clock.IClock
timer
- The timer.public void addTickTimer(jadex.bridge.service.types.clock.ITimer timer)
addTickTimer
in interface jadex.bridge.service.types.clock.IClock
timer
- The timer.protected void activateTickTimer()
public void removeTickTimer(jadex.bridge.service.types.clock.ITimer timer)
removeTickTimer
in interface jadex.bridge.service.types.clock.IClock
timer
- The timer.public void addChangeListener(jadex.commons.IChangeListener listener)
addChangeListener
in interface jadex.bridge.service.types.clock.IClock
listener
- The change listener.public void removeChangeListener(jadex.commons.IChangeListener listener)
removeChangeListener
in interface jadex.bridge.service.types.clock.IClock
listener
- The change listener.protected void notifyListeners(jadex.commons.ChangeEvent ce)
protected boolean hasListeners()
public void shutdown(jadex.commons.future.IResultListener listener)
listener
- The listener.