[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]
Classes
Class | Description | |
---|---|---|
![]() | ScheduleBucket |
This class acts as a buckets for sorting schedule service callbacks that are scheduled to occur at the same
time. Each buckets constists of net.esper.schedule.ScheduleSlot slots that callbacks are
assigned to.
At the time of timer evaluation, callbacks that become triggerable are ordered using the bucket as the first-level order, and slot as the second-level order. Each statement at statement creation time allocates a buckets, and each timer within the statement allocates a slot. Thus statements that depend on other statements (such as for insert-into), and timers within their statement (such as time window or output rate limit timers) behave deterministically. |
![]() | ScheduleCalendar |
Calendar class for use in scheduling, specifically for use in computing the next invocation time.
|
![]() | ScheduleCallbackImpl |
An implementation of the ScheduleCallbackDelegate that proxies the
interface through a delegate. IMO, this is a lot of extra baggage
that is cleanly handled thorugh the delegate interface, but will
remain intact until we can review the interaction points and
convert them to delegates.
|
![]() | ScheduleComputeHelper |
For a crontab-like schedule, this class computes the next occurance given a Start time and a specification of
what the schedule looks like.
The resolution at which this works is at the second level. The next occurance
is always at least 1 second ahead.
The class implements an algorithm that Starts at the highest precision (seconds) and
continues to the lowest precicion (month). For each precision level the
algorithm looks at the list of valid values and finds a value for each that is equal to or greater then
the valid values supplied. If no equal or
greater value was supplied, it will reset all higher precision elements to its minimum value.
|
![]() | ScheduleServiceException |
This exception is thrown to indicate a problem with scheduling, such
as trying to add a scheduling callback that already existed or trying
to remove one that didn't exist.
|
![]() | ScheduleSlot |
This class is a slot in a net.esper.schedule.ScheduleBucket for sorting schedule service callbacks.
|
![]() | ScheduleSpec | Holds a schedule specification which consists of a set of integer values or a null
value for each schedule unit to indicate a wildcard.
There is always an element in the specification for each unit minutes, hours, day of month, month, and day of week.
There is optionally an element in the specification for the unit seconds.
|
![]() | ScheduleUnit | Enumeration of units in a specification of schedule, which contains elements for each of the following units:
minute, hour, day of month, month, day of week and seconds.
Notice: value ranges are the same as the "crontab" standard values not the Java Calendar field values.
The Java Calendar MONTH value range is 0 to 11, while in this enum the range is 1 to 12.
|
![]() | SchedulingServiceImpl | Implements the schedule service by simply keeping a sorted set of long millisecond
values and a set of callbacks for each.
|
![]() | SchedulingServiceProvider |
Static factory for implementations of the SchedulingService interface.
|
Interfaces
Interface | Description | |
---|---|---|
![]() | ScheduleCallback |
Interface for scheduled callbacks.
|
![]() | SchedulingService |
Interface for a service that allows to add and remove callbacks for a certain time which are called when
the evaluate method is invoked and the current time is on or after the callback times.
It is the expectation that the triggerPast method is called
with same or ascending values for each subsequent call. Callbacks with are triggered are automatically removed
by implementations.
|
Delegates
Delegate | Description | |
---|---|---|
![]() | ScheduleCallbackDelegate |
Interface method wrapped as a delegate
|