01: /**
02: * Created on Dec 2, 2004
03: *
04: * @author karthikeyanr
05: *
06: */package wizard.action;
07:
08: import java.util.*;
09:
10: import wizard.interfaces.Pollable;
11:
12: public class MagicPanelListener extends TimerTask {
13: private static MagicPanelListener magicPanelListener;
14:
15: private static Pollable wizard;
16:
17: private static Timer timer;
18:
19: public static synchronized void install(Pollable wizard) {
20: if (magicPanelListener != null)
21: return;
22:
23: MagicPanelListener.wizard = wizard;
24: magicPanelListener = new MagicPanelListener();
25:
26: timer = new Timer();
27: timer.schedule(magicPanelListener, 0, 50);
28: }
29:
30: private MagicPanelListener() {
31: }
32:
33: public static synchronized void uninstall() {
34: if (magicPanelListener == null)
35: return;
36:
37: timer.cancel();
38: wizard = null;
39: magicPanelListener = null;
40: }
41:
42: public void run() {
43: wizard.poll();
44: }
45: }
|