Class DateBasedDiscreteEventScheduler

java.lang.Object
madkit.kernel.AbstractAgent
madkit.kernel.Agent
madkit.kernel.Scheduler
madkit.simulation.scheduler.DateBasedDiscreteEventScheduler
All Implemented Interfaces:
Comparable<AbstractAgent>

public class DateBasedDiscreteEventScheduler extends Scheduler
  • Constructor Details

    • DateBasedDiscreteEventScheduler

      public DateBasedDiscreteEventScheduler()
    • DateBasedDiscreteEventScheduler

      public DateBasedDiscreteEventScheduler(LocalDateTime initialDate)
  • Method Details

    • doSimulationStep

      public void doSimulationStep()
      Description copied from class: Scheduler
      Defines a default simulation loop which is automatically during the scheduler's life. This method should be overridden to define a customized scheduling policy. By default, it executes all the activators in the order they have been added, using Activator.execute(Object...), and then increments the simulation time by one unit. Default implementation is:
       logActivationStep();
       for (final Activator<? extends AbstractAgent> activator : activators) {
              executeAndLog(activator);
       }
       getSimulationTime().addOneTimeUnit();
       
      By default logs are displayed only if AbstractAgent.getLogger() is set above Level.FINER.
      Overrides:
      doSimulationStep in class Scheduler
    • addActivator

      public void addActivator(Activator<? extends AbstractAgent> activator)
      Description copied from class: Scheduler
      Adds an activator to the simulation engine. This has to be done to make an activator work properly.
      Overrides:
      addActivator in class Scheduler
      Parameters:
      activator - an activator.
    • logActivationStep

      public void logActivationStep()
      Description copied from class: Scheduler
      Logs the current simulation step value. logs are displayed only if AbstractAgent.getLogger() is set above Level.FINER.
      Overrides:
      logActivationStep in class Scheduler
    • getActivationList

      public PriorityQueue<DateBasedDiscreteEventActivator<? extends AbstractAgent>> getActivationList()