|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.quartz.TriggerUtils
public class TriggerUtils
Convenience and utility methods for simplifying the construction and
configuration of
and Trigger
sDate
s
CronTrigger
,
SimpleTrigger
Field Summary | |
---|---|
static int |
FRIDAY
|
static int |
LAST_DAY_OF_MONTH
|
static long |
MILLISECONDS_IN_DAY
|
static long |
MILLISECONDS_IN_HOUR
|
static long |
MILLISECONDS_IN_MINUTE
|
static int |
MONDAY
|
static int |
SATURDAY
|
static long |
SECONDS_IN_DAY
|
static int |
SUNDAY
|
static int |
THURSDAY
|
static int |
TUESDAY
|
static int |
WEDNESDAY
|
Method Summary | |
---|---|
static java.util.Date |
computeEndTimeToAllowParticularNumberOfFirings(Trigger trigg,
Calendar cal,
int numTimes)
Compute the Date that is 1 second after the Nth firing of
the given Trigger , taking the triger's associated
Calendar into consideration. |
static java.util.List |
computeFireTimes(Trigger trigg,
Calendar cal,
int numTimes)
Returns a list of Dates that are the next fire times of a Trigger . |
static java.util.List |
computeFireTimesBetween(Trigger trigg,
Calendar cal,
java.util.Date from,
java.util.Date to)
Returns a list of Dates that are the next fire times of a Trigger
that fall within the given date range. |
static java.util.Date |
getDateOf(int second,
int minute,
int hour)
Get a Date object that represents the given time, on
today's date. |
static java.util.Date |
getDateOf(int second,
int minute,
int hour,
int dayOfMonth,
int month)
Get a Date object that represents the given time, on the
given date. |
static java.util.Date |
getDateOf(int second,
int minute,
int hour,
int dayOfMonth,
int month,
int year)
Get a Date object that represents the given time, on the
given date. |
static int |
getDSTSavings(java.util.TimeZone tz)
Deprecated. use TimeZone.getDSTSavings() |
static java.util.Date |
getEvenHourDate(java.util.Date date)
Returns a date that is rounded to the next even hour above the given date. |
static java.util.Date |
getEvenHourDateBefore(java.util.Date date)
Returns a date that is rounded to the previous even hour below the given date. |
static java.util.Date |
getEvenMinuteDate(java.util.Date date)
Returns a date that is rounded to the next even minute above the given date. |
static java.util.Date |
getEvenMinuteDateBefore(java.util.Date date)
Returns a date that is rounded to the previous even minute below the given date. |
static java.util.Date |
getEvenSecondDate(java.util.Date date)
Returns a date that is rounded to the next even second above the given date. |
static java.util.Date |
getEvenSecondDateBefore(java.util.Date date)
Returns a date that is rounded to the previous even second below the given date. |
static java.util.Date |
getNextGivenMinuteDate(java.util.Date date,
int minuteBase)
Returns a date that is rounded to the next even multiple of the given minute. |
static java.util.Date |
getNextGivenSecondDate(java.util.Date date,
int secondBase)
Returns a date that is rounded to the next even multiple of the given minute. |
static int |
getOffset(long date,
java.util.TimeZone tz)
Deprecated. use TimeZone.getOffset(date) |
static Trigger |
makeDailyTrigger(int hour,
int minute)
Make a trigger that will fire every day at the given time. |
static Trigger |
makeDailyTrigger(java.lang.String trigName,
int hour,
int minute)
Make a trigger that will fire every day at the given time. |
static Trigger |
makeHourlyTrigger()
Make a trigger that will fire every hour, indefinitely. |
static Trigger |
makeHourlyTrigger(int intervalInHours)
Make a trigger that will fire every N hours, indefinitely. |
static Trigger |
makeHourlyTrigger(int intervalInHours,
int repeatCount)
Make a trigger that will fire every N hours, with the given number of repeats. |
static Trigger |
makeHourlyTrigger(java.lang.String trigName)
Make a trigger that will fire every hour, indefinitely. |
static Trigger |
makeHourlyTrigger(java.lang.String trigName,
int intervalInHours,
int repeatCount)
Make a trigger that will fire every N hours, with the given number of repeats. |
static Trigger |
makeImmediateTrigger(int repeatCount,
long repeatInterval)
Make a trigger that will fire repeatCount times, waiting
repeatInterval milliseconds between each fire. |
static Trigger |
makeImmediateTrigger(java.lang.String trigName,
int repeatCount,
long repeatInterval)
Make a trigger that will fire repeatCount times, waiting
repeatInterval milliseconds between each fire. |
static Trigger |
makeMinutelyTrigger()
Make a trigger that will fire every minute, indefinitely. |
static Trigger |
makeMinutelyTrigger(int intervalInMinutes)
Make a trigger that will fire every N minutes, indefinitely. |
static Trigger |
makeMinutelyTrigger(int intervalInMinutes,
int repeatCount)
Make a trigger that will fire every N minutes, with the given number of repeats. |
static Trigger |
makeMinutelyTrigger(java.lang.String trigName)
Make a trigger that will fire every minute, indefinitely. |
static Trigger |
makeMinutelyTrigger(java.lang.String trigName,
int intervalInMinutes,
int repeatCount)
Make a trigger that will fire every N minutes, with the given number of repeats. |
static Trigger |
makeMonthlyTrigger(int dayOfMonth,
int hour,
int minute)
Make a trigger that will fire every month at the given day and time. |
static Trigger |
makeMonthlyTrigger(java.lang.String trigName,
int dayOfMonth,
int hour,
int minute)
Make a trigger that will fire every month at the given day and time. |
static Trigger |
makeSecondlyTrigger()
Make a trigger that will fire every second, indefinitely. |
static Trigger |
makeSecondlyTrigger(int intervalInSeconds)
Make a trigger that will fire every N seconds, indefinitely. |
static Trigger |
makeSecondlyTrigger(int intervalInSeconds,
int repeatCount)
Make a trigger that will fire every N seconds, with the given number of repeats. |
static Trigger |
makeSecondlyTrigger(java.lang.String trigName)
Make a trigger that will fire every second, indefinitely. |
static Trigger |
makeSecondlyTrigger(java.lang.String trigName,
int intervalInSeconds,
int repeatCount)
Make a trigger that will fire every N seconds, with the given number of repeats. |
static Trigger |
makeWeeklyTrigger(int dayOfWeek,
int hour,
int minute)
Make a trigger that will fire every week at the given day and time. |
static Trigger |
makeWeeklyTrigger(java.lang.String trigName,
int dayOfWeek,
int hour,
int minute)
Make a trigger that will fire every week at the given day and time. |
static void |
setTriggerIdentity(Trigger trig,
java.lang.String name)
Set the given Trigger 's name to the given value, and its
group to the default group (Scheduler.DEFAULT_GROUP ). |
static void |
setTriggerIdentity(Trigger trig,
java.lang.String name,
java.lang.String group)
Set the given Trigger 's name to the given value, and its
group to the given group. |
static java.util.Date |
translateTime(java.util.Date date,
java.util.TimeZone src,
java.util.TimeZone dest)
Translate a date & time from a users time zone to the another (probably server) time zone to assist in creating a simple trigger with the right date & time. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int SUNDAY
public static final int MONDAY
public static final int TUESDAY
public static final int WEDNESDAY
public static final int THURSDAY
public static final int FRIDAY
public static final int SATURDAY
public static final int LAST_DAY_OF_MONTH
public static final long MILLISECONDS_IN_MINUTE
public static final long MILLISECONDS_IN_HOUR
public static final long SECONDS_IN_DAY
public static final long MILLISECONDS_IN_DAY
Method Detail |
---|
public static void setTriggerIdentity(Trigger trig, java.lang.String name)
Set the given Trigger
's name to the given value, and its
group to the default group (Scheduler.DEFAULT_GROUP
).
trig
- the trigger to change name toname
- the new trigger namepublic static void setTriggerIdentity(Trigger trig, java.lang.String name, java.lang.String group)
Set the given Trigger
's name to the given value, and its
group to the given group.
trig
- the trigger to change name toname
- the new trigger namegroup
- the new trigger grouppublic static Trigger makeDailyTrigger(int hour, int minute)
Make a trigger that will fire every day at the given time.
The generated trigger will not have its name, group, or end-time set. The Start time defaults to 'now'.
hour
- the hour (0-23) upon which to fireminute
- the minute (0-59) upon which to fire
public static Trigger makeDailyTrigger(java.lang.String trigName, int hour, int minute)
Make a trigger that will fire every day at the given time.
The generated trigger will not have its group or end-time set. The Start time defaults to 'now'.
trigName
- the trigger's namehour
- the hour (0-23) upon which to fireminute
- the minute (0-59) upon which to fire
public static Trigger makeWeeklyTrigger(int dayOfWeek, int hour, int minute)
Make a trigger that will fire every week at the given day and time.
The generated trigger will not have its name, group, or end-time set. The Start time defaults to 'now'.
dayOfWeek
- (1-7) the day of week upon which to firehour
- the hour (0-23) upon which to fireminute
- the minute (0-59) upon which to fire
SUNDAY
,
MONDAY
,
TUESDAY
,
WEDNESDAY
,
THURSDAY
,
FRIDAY
,
SATURDAY
public static Trigger makeWeeklyTrigger(java.lang.String trigName, int dayOfWeek, int hour, int minute)
Make a trigger that will fire every week at the given day and time.
The generated trigger will not have its group, or end-time set. The Start time defaults to 'now'.
trigName
- the trigger's namedayOfWeek
- (1-7) the day of week upon which to firehour
- the hour (0-23) upon which to fireminute
- the minute (0-59) upon which to fire
SUNDAY
,
MONDAY
,
TUESDAY
,
WEDNESDAY
,
THURSDAY
,
FRIDAY
,
SATURDAY
public static Trigger makeMonthlyTrigger(int dayOfMonth, int hour, int minute)
Make a trigger that will fire every month at the given day and time.
The generated trigger will not have its name, group, or end-time set. The Start time defaults to 'now'.
If the day of the month specified does not occur in a given month, a firing will not occur that month. (i.e. if dayOfMonth is specified as 31, no firing will occur in the months of the year with fewer than 31 days).
dayOfMonth
- (1-31, or -1) the day of week upon which to firehour
- the hour (0-23) upon which to fireminute
- the minute (0-59) upon which to fire
public static Trigger makeMonthlyTrigger(java.lang.String trigName, int dayOfMonth, int hour, int minute)
Make a trigger that will fire every month at the given day and time.
The generated trigger will not have its group, or end-time set. The Start time defaults to 'now'.
If the day of the month specified does not occur in a given month, a firing will not occur that month. (i.e. if dayOfMonth is specified as 31, no firing will occur in the months of the year with fewer than 31 days).
trigName
- the trigger's namedayOfMonth
- (1-31, or -1) the day of week upon which to firehour
- the hour (0-23) upon which to fireminute
- the minute (0-59) upon which to fire
public static Trigger makeImmediateTrigger(int repeatCount, long repeatInterval)
Make a trigger that will fire repeatCount
times, waiting
repeatInterval
milliseconds between each fire.
The generated trigger will not have its name, group, or end-time set. The Start time defaults to 'now'.
repeatCount
- the number of times to fire the triggerrepeatInterval
- the number of milliseconds to wait between fires
public static Trigger makeImmediateTrigger(java.lang.String trigName, int repeatCount, long repeatInterval)
Make a trigger that will fire repeatCount
times, waiting
repeatInterval
milliseconds between each fire.
The generated trigger will not have its name, group, or end-time set. The Start time defaults to 'now'.
trigName
- the trigger's namerepeatCount
- the number of times to fire the triggerrepeatInterval
- the number of milliseconds to wait between fires
public static Trigger makeSecondlyTrigger()
Make a trigger that will fire every second, indefinitely.
The generated trigger will not have its name, group, or end-time set. The Start time defaults to 'now'.
public static Trigger makeSecondlyTrigger(java.lang.String trigName)
Make a trigger that will fire every second, indefinitely.
The generated trigger will not have its group, or end-time set. The Start time defaults to 'now'.
trigName
- the trigger's name
public static Trigger makeSecondlyTrigger(int intervalInSeconds)
Make a trigger that will fire every N seconds, indefinitely.
The generated trigger will not have its name, group, or end-time set. The Start time defaults to 'now'.
intervalInSeconds
- the number of seconds between firings
public static Trigger makeSecondlyTrigger(int intervalInSeconds, int repeatCount)
Make a trigger that will fire every N seconds, with the given number of repeats.
The generated trigger will not have its name, group, or end-time set. The Start time defaults to 'now'.
intervalInSeconds
- the number of seconds between firingsrepeatCount
- the number of times to repeat the firing
public static Trigger makeSecondlyTrigger(java.lang.String trigName, int intervalInSeconds, int repeatCount)
Make a trigger that will fire every N seconds, with the given number of repeats.
The generated trigger will not have its group, or end-time set. The Start time defaults to 'now'.
trigName
- the trigger's nameintervalInSeconds
- the number of seconds between firingsrepeatCount
- the number of times to repeat the firing
public static Trigger makeMinutelyTrigger()
Make a trigger that will fire every minute, indefinitely.
The generated trigger will not have its name, group, or end-time set. The Start time defaults to 'now'.
public static Trigger makeMinutelyTrigger(java.lang.String trigName)
Make a trigger that will fire every minute, indefinitely.
The generated trigger will not have its group, or end-time set. The Start time defaults to 'now'.
trigName
- the trigger's name
public static Trigger makeMinutelyTrigger(int intervalInMinutes)
Make a trigger that will fire every N minutes, indefinitely.
The generated trigger will not have its name, group, or end-time set. The Start time defaults to 'now'.
intervalInMinutes
- the number of minutes between firings
public static Trigger makeMinutelyTrigger(int intervalInMinutes, int repeatCount)
Make a trigger that will fire every N minutes, with the given number of repeats.
The generated trigger will not have its name, group, or end-time set. The Start time defaults to 'now'.
intervalInMinutes
- the number of minutes between firingsrepeatCount
- the number of times to repeat the firing
public static Trigger makeMinutelyTrigger(java.lang.String trigName, int intervalInMinutes, int repeatCount)
Make a trigger that will fire every N minutes, with the given number of repeats.
The generated trigger will not have its group, or end-time set. The Start time defaults to 'now'.
trigName
- the trigger's nameintervalInMinutes
- the number of minutes between firingsrepeatCount
- the number of times to repeat the firing
public static Trigger makeHourlyTrigger()
Make a trigger that will fire every hour, indefinitely.
The generated trigger will not have its name, group, or end-time set. The Start time defaults to 'now'.
public static Trigger makeHourlyTrigger(java.lang.String trigName)
Make a trigger that will fire every hour, indefinitely.
The generated trigger will not have its group, or end-time set. The Start time defaults to 'now'.
trigName
- the trigger's name
public static Trigger makeHourlyTrigger(int intervalInHours)
Make a trigger that will fire every N hours, indefinitely.
The generated trigger will not have its name, group, or end-time set. The Start time defaults to 'now'.
intervalInHours
- the number of hours between firings
public static Trigger makeHourlyTrigger(int intervalInHours, int repeatCount)
Make a trigger that will fire every N hours, with the given number of repeats.
The generated trigger will not have its name, group, or end-time set. The Start time defaults to 'now'.
intervalInHours
- the number of hours between firingsrepeatCount
- the number of times to repeat the firing
public static Trigger makeHourlyTrigger(java.lang.String trigName, int intervalInHours, int repeatCount)
Make a trigger that will fire every N hours, with the given number of repeats.
The generated trigger will not have its group, or end-time set. The Start time defaults to 'now'.
trigName
- the trigger's nameintervalInHours
- the number of hours between firingsrepeatCount
- the number of times to repeat the firing
public static java.util.Date getEvenHourDate(java.util.Date date)
Returns a date that is rounded to the next even hour above the given date.
For example an input date with a time of 08:13:54 would result in a date with the time of 09:00:00. If the date's time is in the 23rd hour, the date's 'day' will be promoted, and the time will be set to 00:00:00.
date
- the Date to round, if null
the current time will
be used
public static java.util.Date getEvenHourDateBefore(java.util.Date date)
Returns a date that is rounded to the previous even hour below the given date.
For example an input date with a time of 08:13:54 would result in a date with the time of 08:00:00.
date
- the Date to round, if null
the current time will
be used
public static java.util.Date getEvenMinuteDate(java.util.Date date)
Returns a date that is rounded to the next even minute above the given date.
For example an input date with a time of 08:13:54 would result in a date with the time of 08:14:00. If the date's time is in the 59th minute, then the hour (and possibly the day) will be promoted.
date
- the Date to round, if null
the current time will
be used
public static java.util.Date getEvenMinuteDateBefore(java.util.Date date)
Returns a date that is rounded to the previous even minute below the given date.
For example an input date with a time of 08:13:54 would result in a date with the time of 08:13:00.
date
- the Date to round, if null
the current time will
be used
public static java.util.Date getEvenSecondDate(java.util.Date date)
Returns a date that is rounded to the next even second above the given date.
date
- the Date to round, if null
the current time will
be used
public static java.util.Date getEvenSecondDateBefore(java.util.Date date)
Returns a date that is rounded to the previous even second below the given date.
For example an input date with a time of 08:13:54.341 would result in a date with the time of 08:13:00.000.
date
- the Date to round, if null
the current time will
be used
public static java.util.Date getNextGivenMinuteDate(java.util.Date date, int minuteBase)
Returns a date that is rounded to the next even multiple of the given minute.
For example an input date with a time of 08:13:54, and an input minute-base of 5 would result in a date with the time of 08:15:00. The same input date with an input minute-base of 10 would result in a date with the time of 08:20:00. But a date with the time 08:53:31 and an input minute-base of 45 would result in 09:00:00, because the even-hour is the next 'base' for 45-minute intervals.
More examples:
Input Time | Minute-Base | Result Time |
---|---|---|
11:16:41 | 20 | 11:20:00 |
11:36:41 | 20 | 11:40:00 |
11:46:41 | 20 | 12:00:00 |
11:26:41 | 30 | 11:30:00 |
11:36:41 | 30 | 12:00:00 | 11:16:41 | 17 | 11:17:00 | 11:17:41 | 17 | 11:34:00 | 11:52:41 | 17 | 12:00:00 | 11:52:41 | 5 | 11:55:00 | 11:57:41 | 5 | 12:00:00 | 11:17:41 | 0 | 12:00:00 | 11:17:41 | 1 | 11:08:00 |
date
- the Date to round, if null
the current time will
be usedminuteBase
- the base-minute to set the time on
getNextGivenSecondDate(Date, int)
public static java.util.Date getNextGivenSecondDate(java.util.Date date, int secondBase)
Returns a date that is rounded to the next even multiple of the given minute.
The rules for calculating the second are the same as those for
calculating the minute in the method
getNextGivenMinuteDate(..)
.
date
- the Date to round, if null
the current time will
be usedsecondBase
- the base-second to set the time on
getNextGivenMinuteDate(Date, int)
public static java.util.Date getDateOf(int second, int minute, int hour)
Get a Date
object that represents the given time, on
today's date.
second
- The value (0-59) to give the seconds field of the dateminute
- The value (0-59) to give the minutes field of the datehour
- The value (0-23) to give the hours field of the date
public static java.util.Date getDateOf(int second, int minute, int hour, int dayOfMonth, int month)
Get a Date
object that represents the given time, on the
given date.
second
- The value (0-59) to give the seconds field of the dateminute
- The value (0-59) to give the minutes field of the datehour
- The value (0-23) to give the hours field of the datedayOfMonth
- The value (1-31) to give the day of month field of the datemonth
- The value (1-12) to give the month field of the date
public static java.util.Date getDateOf(int second, int minute, int hour, int dayOfMonth, int month, int year)
Get a Date
object that represents the given time, on the
given date.
second
- The value (0-59) to give the seconds field of the dateminute
- The value (0-59) to give the minutes field of the datehour
- The value (0-23) to give the hours field of the datedayOfMonth
- The value (1-31) to give the day of month field of the datemonth
- The value (1-12) to give the month field of the dateyear
- The value (1970-2099) to give the year field of the date
public static java.util.List computeFireTimes(Trigger trigg, Calendar cal, int numTimes)
Trigger
.
The input trigger will be cloned before any work is done, so you need
not worry about its state being altered by this method.
trigg
- The trigger upon which to do the workcal
- The calendar to apply to the trigger's schedulenumTimes
- The number of next fire times to produce
public static java.util.Date computeEndTimeToAllowParticularNumberOfFirings(Trigger trigg, Calendar cal, int numTimes)
Date
that is 1 second after the Nth firing of
the given Trigger
, taking the triger's associated
Calendar
into consideration.
The input trigger will be cloned before any work is done, so you need
not worry about its state being altered by this method.
trigg
- The trigger upon which to do the workcal
- The calendar to apply to the trigger's schedulenumTimes
- The number of next fire times to produce
public static java.util.List computeFireTimesBetween(Trigger trigg, Calendar cal, java.util.Date from, java.util.Date to)
Trigger
that fall within the given date range. The input trigger will be cloned
before any work is done, so you need not worry about its state being
altered by this method.
NOTE: if this is a trigger that has previously fired within the given date range, then firings which have already occurred will not be listed in the output List.
trigg
- The trigger upon which to do the workcal
- The calendar to apply to the trigger's schedulefrom
- The starting date at which to find fire timesto
- The ending date at which to stop finding fire times
public static java.util.Date translateTime(java.util.Date date, java.util.TimeZone src, java.util.TimeZone dest)
date
- the date to translatesrc
- the original time-zonedest
- the destination time-zone
public static int getOffset(long date, java.util.TimeZone tz)
Equivalent of TimeZone.getOffset(date) in JDK 1.4, but Quartz is trying to support JDK 1.3.
date
- the date (in milliseconds) that is the base for the offsettz
- the time-zone to calculate to offset to
public static int getDSTSavings(java.util.TimeZone tz)
Equivalent of TimeZone.getDSTSavings() in JDK 1.4, but Quartz is trying to support JDK 1.3.
tz
- the target time-zone
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |