com.caucho.config.timer
Class EjbTimer

java.lang.Object
  extended by com.caucho.config.timer.EjbTimer
All Implemented Interfaces:
java.lang.Runnable, Timer

public class EjbTimer
extends java.lang.Object
implements Timer, java.lang.Runnable

Resin EJB timer. This object is mostly an adapter/decorator over the underlying scheduled task.


Constructor Summary
EjbTimer()
          Creates timer.
EjbTimer(TimerTask task)
          Creates timer.
 
Method Summary
 void cancel()
          Cause the timer and all its associated expiration notifications to be Canceled.
 TimerHandle getHandle()
          Get a serializable handle to the timer.
 java.io.Serializable getInfo()
          Get the information associated with the timer at the time of creation.
 java.util.Date getNextTimeout()
          Get the point in time at which the next timer expiration is scheduled to occur.
 ScheduleExpression getSchedule()
          Get the schedule expression corresponding to this timer.
 long getTimeRemaining()
          Get the number of milliseconds that will elapse before the next scheduled timer expiration.
 boolean isCalendarTimer()
          Query whether this timer is a calendar-based timer.
 boolean isPersistent()
          Query whether this timer has persistent semantics.
 void run()
          Runs the timer task.
 void setScheduledTask(TimerTask scheduledTask)
          Sets the underlying scheduled task.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EjbTimer

public EjbTimer()
Creates timer.


EjbTimer

public EjbTimer(TimerTask task)
Creates timer.

Method Detail

setScheduledTask

public void setScheduledTask(TimerTask scheduledTask)
Sets the underlying scheduled task.

Parameters:
scheduledTask - The underlying scheduled task.

getSchedule

public ScheduleExpression getSchedule()
                               throws java.lang.IllegalStateException,
                                      NoSuchObjectLocalException,
                                      EJBException
Get the schedule expression corresponding to this timer.

Specified by:
getSchedule in interface Timer
Returns:
Schedule expression corresponding to this timer.
Throws:
java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method. Also thrown if invoked on a timer that was created with one of the non-ScheduleExpression TimerService.createTimer APIs.
NoSuchObjectLocalException - If invoked on a timer that has expired or has been canceled.
EJBException - If this method could not complete due to a system-level failure.

getInfo

public java.io.Serializable getInfo()
                             throws java.lang.IllegalStateException,
                                    NoSuchObjectLocalException,
                                    EJBException
Get the information associated with the timer at the time of creation.

Specified by:
getInfo in interface Timer
Returns:
The Serializable object that was passed in at timer creation, or null if the info argument passed in at timer creation was null.
Throws:
java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
NoSuchObjectLocalException - If invoked on a timer that has expired or has been canceled.
EJBException - If this method could not complete due to a system-level failure.

isPersistent

public boolean isPersistent()
                     throws java.lang.IllegalStateException,
                            NoSuchObjectLocalException,
                            EJBException
Query whether this timer has persistent semantics.

Specified by:
isPersistent in interface Timer
Returns:
true if this timer has persistent guarantees.
Throws:
java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
NoSuchObjectLocalException - If invoked on a timer that has expired or has been canceled.
EJBException - If this method could not complete due to a system-level failure.

isCalendarTimer

public boolean isCalendarTimer()
                        throws java.lang.IllegalStateException,
                               NoSuchObjectLocalException,
                               EJBException
Query whether this timer is a calendar-based timer.

Specified by:
isCalendarTimer in interface Timer
Returns:
true if this timer is a calendar-based timer.
Throws:
java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
NoSuchObjectLocalException - If invoked on a timer that has expired or has been cancelled.
EJBException - If this method could not complete due to a system-level failure.

getNextTimeout

public java.util.Date getNextTimeout()
                              throws java.lang.IllegalStateException,
                                     NoSuchObjectLocalException,
                                     EJBException
Get the point in time at which the next timer expiration is scheduled to occur.

Specified by:
getNextTimeout in interface Timer
Returns:
The point in time at which the next timer expiration is scheduled to occur.
Throws:
java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
NoSuchObjectLocalException - If invoked on a timer that has expired or has been canceled.
EJBException - If this method could not complete due to a system-level failure.

getTimeRemaining

public long getTimeRemaining()
                      throws java.lang.IllegalStateException,
                             NoSuchObjectLocalException,
                             EJBException
Get the number of milliseconds that will elapse before the next scheduled timer expiration.

Specified by:
getTimeRemaining in interface Timer
Returns:
The number of milliseconds that will elapse before the next scheduled timer expiration.
Throws:
java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
NoSuchObjectLocalException - If invoked on a timer that has expired or has been canceled.
EJBException - If this method could not complete due to a system-level failure.

getHandle

public TimerHandle getHandle()
                      throws java.lang.IllegalStateException,
                             NoSuchObjectLocalException,
                             EJBException
Get a serializable handle to the timer. This handle can be used at a later time to re-obtain the timer reference.

Specified by:
getHandle in interface Timer
Returns:
A serializable handle to the timer.
Throws:
java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
NoSuchObjectLocalException - If invoked on a timer that has expired or has been canceled.
EJBException - If this method could not complete due to a system-level failure.

cancel

public void cancel()
            throws java.lang.IllegalStateException,
                   NoSuchObjectLocalException,
                   EJBException
Cause the timer and all its associated expiration notifications to be Canceled.

Specified by:
cancel in interface Timer
Throws:
java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
NoSuchObjectLocalException - If invoked on a timer that has expired or has been canceled.
EJBException - If this method could not complete due to a system-level failure.

run

public void run()
Runs the timer task.

Specified by:
run in interface java.lang.Runnable

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object