org.almendra.janet.cas.schedulers
Class AbstractScheduler

java.lang.Object
  extended by org.almendra.commons.threads.ActiveObject
      extended by org.almendra.commons.threads.ActiveSchedulingObject
          extended by org.almendra.janet.cas.schedulers.AbstractScheduler
All Implemented Interfaces:
java.lang.Runnable, INamedObject, ISimpleActiveObject
Direct Known Subclasses:
Arbitrator, CommandScheduler

public abstract class AbstractScheduler
extends ActiveSchedulingObject

Author:
Oliver

Field Summary
static java.lang.String LOG_EVENT_RESUMING_SCHEDULER
           
static java.lang.String LOG_EVENT_STARTED_SCHEDULER
           
static java.lang.String LOG_EVENT_STOPPED_SCHEDULER
           
static java.lang.String LOG_EVENT_SUSPENDING_SCHEDULER
           
protected  Logger logger
           
 
Fields inherited from class org.almendra.commons.threads.ActiveSchedulingObject
available, executing, queue
 
Fields inherited from class org.almendra.commons.threads.ActiveObject
activeLock, isActive, name, priority, thread, verbose, waiting
 
Constructor Summary
protected AbstractScheduler()
           
  AbstractScheduler(IQueue queue, boolean verbose, int priority, Logger logger)
          Creates a new AbstractScheduler object.
  AbstractScheduler(IQueue queue, boolean verbose, Logger logger)
          Creates a new AbstractScheduler object.
  AbstractScheduler(IQueue queue, Logger logger)
          Creates a new AbstractScheduler object.
  AbstractScheduler(Logger logger)
          Creates a new AbstractScheduler object.
 
Method Summary
protected  LogEntry getDefaultLogEntry(java.lang.String eventName)
           
 Logger getLogger()
           
protected  boolean isDaemon()
          Implement in subclass whether thread the active object will run in when started is a daemon thread or not.
protected  void log(java.lang.String eventName)
           
protected  void messageResuming()
           
protected  void messageStarting()
           
protected  void messageStopping()
           
protected  void messageSuspending()
           
 java.util.List registeredLogEvents()
           
protected  void setLogger(Logger logger)
           
 
Methods inherited from class org.almendra.commons.threads.ActiveSchedulingObject
add, available, doActivity, executableAdded, executableRemoved, execute, executePrimary, finishedExecution, getNext, getNextPrim, getQueueSize, hasNext, isIdle, remove, resuming, startingExecution, suspending
 
Methods inherited from class org.almendra.commons.threads.ActiveObject
getName, getPriority, isActive, isVerbose, run, setActive, setName, setPriority, setVerbose, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG_EVENT_RESUMING_SCHEDULER

public static final java.lang.String LOG_EVENT_RESUMING_SCHEDULER
See Also:
Constant Field Values

LOG_EVENT_SUSPENDING_SCHEDULER

public static final java.lang.String LOG_EVENT_SUSPENDING_SCHEDULER
See Also:
Constant Field Values

LOG_EVENT_STARTED_SCHEDULER

public static final java.lang.String LOG_EVENT_STARTED_SCHEDULER
See Also:
Constant Field Values

LOG_EVENT_STOPPED_SCHEDULER

public static final java.lang.String LOG_EVENT_STOPPED_SCHEDULER
See Also:
Constant Field Values

logger

protected Logger logger
Constructor Detail

AbstractScheduler

protected AbstractScheduler()

AbstractScheduler

public AbstractScheduler(IQueue queue,
                         Logger logger)
Creates a new AbstractScheduler object.


AbstractScheduler

public AbstractScheduler(IQueue queue,
                         boolean verbose,
                         Logger logger)
Creates a new AbstractScheduler object.


AbstractScheduler

public AbstractScheduler(IQueue queue,
                         boolean verbose,
                         int priority,
                         Logger logger)
Creates a new AbstractScheduler object.


AbstractScheduler

public AbstractScheduler(Logger logger)
Creates a new AbstractScheduler object.

Method Detail

isDaemon

protected boolean isDaemon()
Description copied from class: ActiveObject
Implement in subclass whether thread the active object will run in when started is a daemon thread or not. A daemon thread only lives to server user threads.

Specified by:
isDaemon in class ActiveObject
Returns:

getLogger

public Logger getLogger()
Returns:

setLogger

protected void setLogger(Logger logger)
Parameters:
logger -

registeredLogEvents

public java.util.List registeredLogEvents()

log

protected void log(java.lang.String eventName)
Parameters:
command -
interpreter -

getDefaultLogEntry

protected LogEntry getDefaultLogEntry(java.lang.String eventName)

messageStarting

protected void messageStarting()
Overrides:
messageStarting in class ActiveObject

messageStopping

protected void messageStopping()
Overrides:
messageStopping in class ActiveObject

messageResuming

protected void messageResuming()
Overrides:
messageResuming in class ActiveSchedulingObject

messageSuspending

protected void messageSuspending()
Overrides:
messageSuspending in class ActiveSchedulingObject