sdlip.helpers
Class Timer
java.lang.Object
|
+--java.lang.Thread
|
+--sdlip.helpers.Timer
- public class Timer
- extends java.lang.Thread
Timer.
Usage:
- "this" which must implement Timeoutable will
be called in 3 sec, a separate thread will be
created to accomplish this call
Timer mytimer = new Timer(3, this, true);
- Same as above, but no extra thread will be
created for the timeout call.
Make sure that this call returns quickly.
Timer mytimer = new Timer(3, this, false);
- Timer without a Timeoutable: no callback, if
mytimer.getTimeout() == 0 it is done.
Timer mytimer = new Timer(3);
In the second example a single thread serves all Timeoutable's.
First example is a bit slower but more robust.
Field Summary
Fields inherited from class java.lang.Thread
MAX_PRIORITY,
MIN_PRIORITY,
NORM_PRIORITY
Constructor Summary
Timer(int reltime)
Creates a timer which has no Timeoutable.
Timer(int reltime,
Timeoutable to,
java.lang.Object handle)
Creates a "robust" timer.
Timer(int reltime,
Timeoutable to,
java.lang.Object handle,
int timerType)
General user timer constructor.
Method Summary
java.lang.Object
getHandle()
Delivers the handle that is passed to the Timeoutable
int
getTimeout()
Returns remaining time until timeout method is called.
int
getType()
Returns REGULAR or ROBUST for a user timer.
static void
main(java.lang.String[] args)
void
run()
The running instance of the Timer.
void
setAbsolute(long abstime)
Sets absolute time for timeout
Methods inherited from class java.lang.Thread
activeCount,
checkAccess,
countStackFrames,
currentThread,
destroy,
dumpStack,
enumerate,
getContextClassLoader,
getName,
getPriority,
getThreadGroup,
interrupted,
isAlive,
isDaemon,
isInterrupted,
join,
join,
join,
resume,
setContextClassLoader,
setDaemon,
setName,
setPriority,
sleep,
sleep,
start,
stop,
stop,
suspend,
yield
Methods inherited from class java.lang.Object
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait
Field Detail
REGULAR
public static final int REGULAR
- User timer. Callback called within the global timer thread
ROBUST
public static final int ROBUST
- User timer. Callback called within an extra thread.
Constructor Detail
Timer
public Timer(int reltime,
Timeoutable to,
java.lang.Object handle,
int timerType)
- General user timer constructor.
timerType is either REGULAR or ROBUST.
Timer
public Timer(int reltime,
Timeoutable to,
java.lang.Object handle)
- Creates a "robust" timer.
Timer
public Timer(int reltime)
- Creates a timer which has no Timeoutable.
Method Detail
getTimeout
public int getTimeout()
- Returns remaining time until timeout method is called.
Zero if timed out.
isTimedOut
public boolean isTimedOut()
setTimeout
public void setTimeout(int reltime)
- Sets a new timeout
setAbsolute
public void setAbsolute(long abstime)
- Sets absolute time for timeout
getTimeoutable
public Timeoutable getTimeoutable()
- Delivers the Timeoutable under observation
getHandle
public java.lang.Object getHandle()
- Delivers the handle that is passed to the Timeoutable
getType
public int getType()
- Returns REGULAR or ROBUST for a user timer.
interrupt
public void interrupt()
- stop the timer
- Overrides:
- interrupt in class java.lang.Thread
toString
public java.lang.String toString()
- Overrides:
- toString in class java.lang.Thread
run
public void run()
- The running instance of the Timer. It is used for internal
purposes and must not be publicly accessed.
- Overrides:
- run in class java.lang.Thread
main
public static void main(java.lang.String[] args)