Class CronTrigger

  • All Implemented Interfaces:
    java.io.Serializable, org.drools.base.time.Trigger

    public class CronTrigger
    extends java.lang.Object
    implements org.drools.base.time.Trigger
    See Also:
    Serialized Form
    • Field Detail

      • YEAR_TO_GIVEUP_SCHEDULING_AT

        protected static final int YEAR_TO_GIVEUP_SCHEDULING_AT
        See Also:
        Constant Field Values
    • Constructor Detail

      • CronTrigger

        public CronTrigger()
      • CronTrigger

        public CronTrigger​(long timestamp,
                           java.util.Date startTime,
                           java.util.Date endTime,
                           int repeatLimit,
                           java.lang.String cronExpression,
                           java.lang.String[] calendarNames,
                           org.kie.api.runtime.Calendars calendars)
      • CronTrigger

        public CronTrigger​(long timestamp,
                           java.util.Date startTime,
                           java.util.Date endTime,
                           int repeatLimit,
                           CronExpression cronExpression,
                           java.lang.String[] calendarNames,
                           org.kie.api.runtime.Calendars calendars)
    • Method Detail

      • getStartTime

        public java.util.Date getStartTime()
      • setStartTime

        public void setStartTime​(java.util.Date startTime)
      • getEndTime

        public java.util.Date getEndTime()

        Get the time at which the CronTrigger should quit repeating - even if repeastCount isn't yet satisfied.

      • setEndTime

        public void setEndTime​(java.util.Date endTime)
      • getNextFireTime

        public java.util.Date getNextFireTime()

        Returns the next time at which the Trigger is scheduled to fire. If the trigger will not fire again, null will be returned. Note that the time returned can possibly be in the past, if the time that was computed for the trigger to next fire has already arrived, but the scheduler has not yet been able to fire the trigger (which would likely be due to lack of resources e.g. threads).

        The value returned is not guaranteed to be valid until after the Trigger has been added to the scheduler.

      • getPreviousFireTime

        public java.util.Date getPreviousFireTime()

        Returns the previous time at which the CronTrigger fired. If the trigger has not yet fired, null will be returned.

      • setNextFireTime

        public void setNextFireTime​(java.util.Date nextFireTime)

        Sets the next time at which the CronTrigger will fire. This method should not be invoked by client code.

      • setPreviousFireTime

        public void setPreviousFireTime​(java.util.Date previousFireTime)

        Set the previous time at which the CronTrigger fired.

        This method should not be invoked by client code.

      • getTimeZone

        public java.util.TimeZone getTimeZone()

        Returns the time zone for which the cronExpression of this CronTrigger will be resolved.

      • setTimeZone

        public void setTimeZone​(java.util.TimeZone timeZone)

        Sets the time zone for which the cronExpression of this CronTrigger will be resolved.

        If setCronExpression(CronExpression) is called after this method, the TimeZon setting on the CronExpression will "win". However if setCronExpression(String) is called after this method, the time zone applied by this method will remain in effect, since the String cron expression does not carry a time zone!

      • setCronExpression

        public void setCronExpression​(java.lang.String cronExpression)
      • setCronExpression

        public void setCronExpression​(CronExpression cronExpression)
      • getRepeatLimit

        public int getRepeatLimit()
      • setRepeatLimit

        public void setRepeatLimit​(int repeatLimit)
      • getRepeatCount

        public int getRepeatCount()
      • setRepeatCount

        public void setRepeatCount​(int repeatCount)
      • getCalendarNames

        public java.lang.String[] getCalendarNames()
      • setCalendarNames

        public void setCalendarNames​(java.lang.String[] calendarNames)
      • getCalendars

        public org.kie.api.runtime.Calendars getCalendars()
      • setCalendars

        public void setCalendars​(org.kie.api.runtime.Calendars calendars)
      • determineCronExpression

        public static CronExpression determineCronExpression​(java.lang.String cronExpression)
      • hasNextFireTime

        public java.util.Date hasNextFireTime()
        Specified by:
        hasNextFireTime in interface org.drools.base.time.Trigger
      • nextFireTime

        public java.util.Date nextFireTime()
        Specified by:
        nextFireTime in interface org.drools.base.time.Trigger
      • setFirstFireTimeAfter

        public void setFirstFireTimeAfter()

        Returns the next time at which the CronTrigger will fire, after the given time. If the trigger will not fire after the given time, null will be returned.

        Note that the date returned is NOT validated against the related org.quartz.Calendar (if any)

      • getTimeAfter

        protected java.util.Date getTimeAfter​(java.util.Date afterTime)
      • updateToNextIncludeDate

        public void updateToNextIncludeDate()