org.springframework.scheduling.support

## Class CronSequenceGenerator

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

-     public class CronSequenceGenerator
      extends 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/30 8-10 * * *" = 8:00, 8:30, 9:00, 9:30 and 10 o'clock 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
  See Also:
    `CronTrigger`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CronSequenceGenerator(String expression)` Construct a `CronSequenceGenerator` from the pattern provided, using the default `TimeZone`.
    `CronSequenceGenerator(String expression, TimeZone timeZone)` Construct a `CronSequenceGenerator` from the pattern provided, using the specified `TimeZone`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)`
    `int` | `hashCode()`
    `Date` | `next(Date date)` Get the next `Date` in the sequence matching the Cron pattern and after the value provided.
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### CronSequenceGenerator

          public CronSequenceGenerator(String expression)

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

    - #### CronSequenceGenerator

          public CronSequenceGenerator(String expression,
                                       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:
        `IllegalArgumentException` - if the pattern cannot be parsed

  - ### Method Detail

    - #### next

          public Date next(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

    - #### equals

          public boolean equals(Object obj)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`