org.springframework.scheduling.support

Class CronSequenceGenerator

  • java.lang.Object
    • org.springframework.scheduling.support.CronSequenceGenerator


  • public class CronSequenceGenerator
    extends java.lang.Object
    Date sequence generator for a Crontab pattern, allowing clients to specify a pattern that the sequence matches.

    The pattern is a list of six single space-separated fields: representing second, minute, hour, day, month, weekday. Month and weekday names can be given as the first three letters of the English names.

    Example patterns:

    • "0 0 * * * *" = the top of every hour of every day.
    • "*/10 * * * * *" = every ten seconds.
    • "0 0 8-10 * * *" = 8, 9 and 10 o'clock of every day.
    • "0 0 6,19 * * *" = 6:00 AM and 7:00 PM every day.
    • "0 0/30 8-10 * * *" = 8:00, 8:30, 9:00, 9:30, 10:00 and 10:30 every day.
    • "0 0 9-17 * * MON-FRI" = on the hour nine-to-five weekdays
    • "0 0 0 25 12 ?" = every Christmas Day at midnight
    Since:
    3.0
    Author:
    Dave Syer, Juergen Hoeller, Ruslan Sibgatullin
    See Also:
    CronTrigger
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      boolean equals(java.lang.Object other) 
      int hashCode() 
      static boolean isValidExpression(java.lang.String expression)
      Determine whether the specified expression represents a valid cron pattern.
      java.util.Date next(java.util.Date date)
      Get the next Date in the sequence matching the Cron pattern and after the value provided.
      java.lang.String toString() 
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • CronSequenceGenerator

        public CronSequenceGenerator(java.lang.String expression)
        Construct a CronSequenceGenerator from the pattern provided, using the default TimeZone.
        Parameters:
        expression - a space-separated list of time fields
        Throws:
        java.lang.IllegalArgumentException - if the pattern cannot be parsed
        See Also:
        TimeZone.getDefault()
      • CronSequenceGenerator

        public CronSequenceGenerator(java.lang.String expression,
                                     java.util.TimeZone timeZone)
        Construct a CronSequenceGenerator from the pattern provided, using the specified TimeZone.
        Parameters:
        expression - a space-separated list of time fields
        timeZone - the TimeZone to use for generated trigger times
        Throws:
        java.lang.IllegalArgumentException - if the pattern cannot be parsed
    • Method Detail

      • next

        public java.util.Date next(java.util.Date date)
        Get the next Date in the sequence matching the Cron pattern and after the value provided. The return value will have a whole number of seconds, and will be after the input value.
        Parameters:
        date - a seed value
        Returns:
        the next value matching the pattern
      • isValidExpression

        public static boolean isValidExpression(@Nullable
                                                java.lang.String expression)
        Determine whether the specified expression represents a valid cron pattern.
        Parameters:
        expression - the expression to evaluate
        Returns:
        true if the given expression is a valid cron expression
        Since:
        4.3
      • equals

        public boolean equals(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object