org.axonframework.test.eventscheduler
Class StubEventScheduler

java.lang.Object
  extended by org.axonframework.test.eventscheduler.StubEventScheduler
All Implemented Interfaces:
org.axonframework.eventhandling.scheduling.EventScheduler

public class StubEventScheduler
extends Object
implements org.axonframework.eventhandling.scheduling.EventScheduler

EventScheduler implementation that uses it's own concept of "Current Time" for the purpose of testing. Instead of publishing events, it allows (test) classes to obtain a reference to scheduled events for a certain time frame.

To obtain scheduled events, the conceptual "current time" of the Scheduler must be advanced. All events that have been scheduled within the advanced time frame are returned. It is up to the calling class to decide what to do with these events.

Since:
1.1
Author:
Allard Buijze

Constructor Summary
StubEventScheduler()
          Creates an instance of the StubScheduler that uses the current date time as its conceptual "current time".
StubEventScheduler(org.joda.time.ReadableInstant currentDateTime)
          Creates an instance of the StubScheduler that uses the given currentDateTime as its conceptual "current time".
 
Method Summary
 List<org.axonframework.domain.EventMessage> advanceTime(org.joda.time.DateTime newDateTime)
          Advance time to the given newDateTime and returns all events scheduled for publication until that time.
 List<org.axonframework.domain.EventMessage> advanceTime(org.joda.time.Duration duration)
          Advance time by the given duration and returns all events scheduled for publication until that time.
 org.axonframework.domain.EventMessage advanceToNextTrigger()
          Advances the "current time" of the scheduler to the next scheduled Event, and returns that event.
 void cancelSchedule(org.axonframework.eventhandling.scheduling.ScheduleToken scheduleToken)
           
 org.joda.time.DateTime getCurrentDateTime()
          Returns the "Current Date Time" as used by the scheduler.
 List<ScheduledItem> getScheduledItems()
          Returns a view of all the scheduled Events at the time this method is called.
 org.axonframework.eventhandling.scheduling.ScheduleToken schedule(org.joda.time.DateTime triggerDateTime, Object event)
           
 org.axonframework.eventhandling.scheduling.ScheduleToken schedule(org.joda.time.Duration triggerDuration, Object event)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StubEventScheduler

public StubEventScheduler()
Creates an instance of the StubScheduler that uses the current date time as its conceptual "current time". Unlike the real "current time", the time of the Event Scheduler is fixed.


StubEventScheduler

public StubEventScheduler(org.joda.time.ReadableInstant currentDateTime)
Creates an instance of the StubScheduler that uses the given currentDateTime as its conceptual "current time".

Parameters:
currentDateTime - The instant to use as current Date and Time
Method Detail

schedule

public org.axonframework.eventhandling.scheduling.ScheduleToken schedule(org.joda.time.DateTime triggerDateTime,
                                                                         Object event)
Specified by:
schedule in interface org.axonframework.eventhandling.scheduling.EventScheduler

schedule

public org.axonframework.eventhandling.scheduling.ScheduleToken schedule(org.joda.time.Duration triggerDuration,
                                                                         Object event)
Specified by:
schedule in interface org.axonframework.eventhandling.scheduling.EventScheduler

cancelSchedule

public void cancelSchedule(org.axonframework.eventhandling.scheduling.ScheduleToken scheduleToken)
Specified by:
cancelSchedule in interface org.axonframework.eventhandling.scheduling.EventScheduler

getScheduledItems

public List<ScheduledItem> getScheduledItems()
Returns a view of all the scheduled Events at the time this method is called.

Returns:
a view of all the scheduled Events at the time this method is called

getCurrentDateTime

public org.joda.time.DateTime getCurrentDateTime()
Returns the "Current Date Time" as used by the scheduler.

Returns:
the "Current Date Time" as used by the scheduler

advanceToNextTrigger

public org.axonframework.domain.EventMessage advanceToNextTrigger()
Advances the "current time" of the scheduler to the next scheduled Event, and returns that event. In theory, this may cause "current time" to move backwards.

Returns:
the first event scheduled

advanceTime

public List<org.axonframework.domain.EventMessage> advanceTime(org.joda.time.DateTime newDateTime)
Advance time to the given newDateTime and returns all events scheduled for publication until that time.

Parameters:
newDateTime - The time to advance the "current time" of the scheduler to
Returns:
A list of Events scheduled for publication on or before the new time

advanceTime

public List<org.axonframework.domain.EventMessage> advanceTime(org.joda.time.Duration duration)
Advance time by the given duration and returns all events scheduled for publication until that time.

Parameters:
duration - The amount of time to advance the "current time" of the scheduler with
Returns:
A list of Events scheduled for publication on or before the new time


Copyright © 2010-2016. All Rights Reserved.