KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jfox > ejb > timer > EJBTimer


1 package org.jfox.ejb.timer;
2
3 import java.io.Serializable JavaDoc;
4 import java.util.Date JavaDoc;
5 import javax.ejb.EJBException JavaDoc;
6 import javax.ejb.NoSuchObjectLocalException JavaDoc;
7 import javax.ejb.Timer JavaDoc;
8 import javax.ejb.TimerHandle JavaDoc;
9
10 /**
11  * @author <a HREF="mailto:yy.young@gmail.com">Young Yang</a>
12  */

13
14 public class EJBTimer implements Timer JavaDoc {
15
16     private EJBTimerTask task;
17     private Serializable JavaDoc info;
18     private TimerHandle JavaDoc timerHandle;
19
20     public EJBTimer(EJBTimerTask task, Serializable JavaDoc info) {
21         this.task = task;
22         this.info = info;
23         this.timerHandle = new EJBTimerHandler(task.getTimerService().getEjbName(), "" + System.identityHashCode(this));
24     }
25
26     public long getTimeRemaining() throws IllegalStateException JavaDoc, NoSuchObjectLocalException JavaDoc, EJBException JavaDoc {
27         return (task.scheduledExecutionTime() - System.currentTimeMillis());
28     }
29
30     public Date JavaDoc getNextTimeout() throws IllegalStateException JavaDoc, NoSuchObjectLocalException JavaDoc, EJBException JavaDoc {
31         return new Date JavaDoc(task.scheduledExecutionTime());
32     }
33
34     public Serializable JavaDoc getInfo() throws IllegalStateException JavaDoc, NoSuchObjectLocalException JavaDoc, EJBException JavaDoc {
35         return info;
36     }
37
38     public TimerHandle JavaDoc getHandle() throws IllegalStateException JavaDoc, NoSuchObjectLocalException JavaDoc, EJBException JavaDoc {
39         return timerHandle;
40     }
41
42     /**
43      * need remove from EJBTimerService's timers
44      */

45     public void cancel() {
46         task.cancel();
47     }
48
49     public int hashCode() {
50         return task.hashCode();
51     }
52
53     public boolean equals(Object JavaDoc obj) {
54         if(!(obj instanceof EJBTimer)) {
55             return false;
56         }
57         EJBTimer timer = (EJBTimer) obj;
58         return timer.task.equals(task);
59     }
60
61     public static void main(String JavaDoc[] args) {
62
63     }
64 }
65
66
Popular Tags