com.scalagent.scheduler
Class Scheduler

java.lang.Object
  extended by com.scalagent.scheduler.Scheduler
All Implemented Interfaces:
java.io.Serializable

public class Scheduler
extends java.lang.Object
implements java.io.Serializable

See Also:
Serialized Form

Nested Class Summary
 class Scheduler.WakeUp
           
 
Field Summary
private  ScheduleItem items
          events list
static org.objectweb.util.monolog.api.Logger logger
           
private static long serialVersionUID
          define serialVersionUID for interoperability
private  java.util.Timer timer
          the timer
private  Scheduler.WakeUp wakeUp
          Current task schedule in Timer
 
Constructor Summary
Scheduler(java.util.Timer timer)
          Creates the default scheduler.
 
Method Summary
private  void cancel()
          cancel a wake up task in timer.
private  void checkItems()
          Checks for ripe events.
private  void insertItem(ScheduleEvent event, ScheduleTask task)
          insertItem ScheduleEvent event.
private  void insertItem(ScheduleItem newItem)
          Inserts an item in the list ordered by date.
private  void readObject(java.io.ObjectInputStream in)
           
private  void removeItem(ScheduleItem item)
          Removes an item from the list.
 void restart(java.util.Timer timer)
          restart scheduler.
private  void schedule(ScheduleEvent event, long period)
          schedule wake up task in timer.
 void scheduleEvent(ScheduleEvent event, ScheduleTask task)
          schedule an event.
 java.lang.String toString()
          Provides a string image for this object.
private  void writeObject(java.io.ObjectOutputStream out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
define serialVersionUID for interoperability

See Also:
Constant Field Values

logger

public static org.objectweb.util.monolog.api.Logger logger

items

private transient ScheduleItem items
events list


timer

private transient java.util.Timer timer
the timer


wakeUp

private transient Scheduler.WakeUp wakeUp
Current task schedule in Timer

Constructor Detail

Scheduler

public Scheduler(java.util.Timer timer)
          throws java.io.IOException
Creates the default scheduler.

Parameters:
timer - a ScalAgent timer.
Throws:
java.io.IOException
Method Detail

restart

public void restart(java.util.Timer timer)
             throws java.lang.Exception
restart scheduler.

Parameters:
timer - a ScalAgent timer.
Throws:
java.lang.Exception

toString

public java.lang.String toString()
Provides a string image for this object.

Overrides:
toString in class java.lang.Object
Returns:
a string image for this object

scheduleEvent

public void scheduleEvent(ScheduleEvent event,
                          ScheduleTask task)
                   throws java.lang.Exception
schedule an event. Calls insertItem. Calls checkItems.

Parameters:
event - event to schedule.
task - task to execute.
Throws:
java.lang.Exception

insertItem

private void insertItem(ScheduleEvent event,
                        ScheduleTask task)
insertItem ScheduleEvent event.

Parameters:
event -
task - task to execute.

insertItem

private void insertItem(ScheduleItem newItem)
Inserts an item in the list ordered by date. Inserts at list head a null dated item.

Parameters:
newItem - item to insert

checkItems

private void checkItems()
                 throws java.lang.Exception
Checks for ripe events. reschedule event.

Throws:
java.lang.Exception

removeItem

private void removeItem(ScheduleItem item)
Removes an item from the list. Cancel WakeUP if the item is the current.

Parameters:
item - item to remove

schedule

private void schedule(ScheduleEvent event,
                      long period)
schedule wake up task in timer.

Parameters:
event - schedule event.
period - period in ms.

cancel

private void cancel()
cancel a wake up task in timer.

Parameters:
event - schedule event.

writeObject

private void writeObject(java.io.ObjectOutputStream out)
                  throws java.io.IOException
Throws:
java.io.IOException

readObject

private void readObject(java.io.ObjectInputStream in)
                 throws java.io.IOException,
                        java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException


Copyright © 2010 ScalAgent D.T.. All Rights Reserved.