public class CronCalendar extends BaseCalendar
CronExpression. For example, you
could use this calendar to exclude all but business hours (8AM - 5PM) every
day using the expression "* * 0-7,18-23 ? * *".
It is important to remember that the cron expression here describes a set of
times to be excluded from firing. Whereas the cron expression in
CronTrigger describes a set of times that can
be included for firing. Thus, if a CronTrigger has a
given cron expression and is associated with a CronCalendar with
the same expression, the calendar will exclude all the times the
trigger includes, and they will cancel each other out.
| Constructor and Description |
|---|
CronCalendar(Calendar baseCalendar,
String expression)
Create a
CronCalendar with the given cron expression and
baseCalendar. |
CronCalendar(Calendar baseCalendar,
String expression,
TimeZone timeZone)
Create a
CronCalendar with the given cron exprssion,
baseCalendar, and TimeZone. |
CronCalendar(String expression)
Create a
CronCalendar with the given cron expression and no
baseCalendar. |
| Modifier and Type | Method and Description |
|---|---|
Object |
clone() |
CronExpression |
getCronExpression()
Returns the object representation of the cron expression that defines the
dates and times this calendar excludes.
|
long |
getNextIncludedTime(long timeInMillis)
Determines the next time included by the
CronCalendar
after the specified time. |
TimeZone |
getTimeZone()
Returns the time zone for which the
CronExpression of
this CronCalendar will be resolved. |
boolean |
isTimeIncluded(long timeInMillis)
Determines whether the given time (in milliseconds) is 'included' by the
BaseCalendar |
void |
setCronExpression(CronExpression expression)
Sets the cron expression for the calendar to a new value
|
void |
setCronExpression(String expression)
Sets the cron expression for the calendar to a new value
|
void |
setTimeZone(TimeZone timeZone)
Sets the time zone for which the
CronExpression of this
CronCalendar will be resolved. |
String |
toString()
Returns a string representing the properties of the
CronCalendar |
createJavaCalendar, createJavaCalendar, getBaseCalendar, getDescription, getEndOfDayJavaCalendar, getStartOfDayJavaCalendar, setBaseCalendar, setDescriptionpublic CronCalendar(String expression) throws ParseException
CronCalendar with the given cron expression and no
baseCalendar.expression - a String representation of the desired cron expressionParseExceptionpublic CronCalendar(Calendar baseCalendar, String expression) throws ParseException
CronCalendar with the given cron expression and
baseCalendar.baseCalendar - the base calendar for this calendar instance –
see BaseCalendar for more information on base
calendar functionalityexpression - a String representation of the desired cron expressionParseExceptionpublic CronCalendar(Calendar baseCalendar, String expression, TimeZone timeZone) throws ParseException
CronCalendar with the given cron exprssion,
baseCalendar, and TimeZone.baseCalendar - the base calendar for this calendar instance –
see BaseCalendar for more information on base
calendar functionalityexpression - a String representation of the desired cron expressiontimeZone - Specifies for which time zone the expression
should be interpreted, i.e. the expression 0 0 10 * * ?, is
resolved to 10:00 am in this time zone. If
timeZone is null then
TimeZone.getDefault() will be used.ParseExceptionpublic Object clone()
clone in interface Calendarclone in class BaseCalendarpublic TimeZone getTimeZone()
CronExpression of
this CronCalendar will be resolved.
Overrides to
defer to its BaseCalendar.getTimeZone()CronExpression.
getTimeZone in class BaseCalendarnull if Calendar should
use the TimeZone.getDefault()public void setTimeZone(TimeZone timeZone)
CronExpression of this
CronCalendar will be resolved. If timeZone
is null then TimeZone.getDefault() will be
used.
Overrides to
defer to its BaseCalendar.setTimeZone(TimeZone)CronExpression.
setTimeZone in class BaseCalendartimeZone - The time zone to use for this Calendar, null
if TimeZone.getDefault() should be usedpublic boolean isTimeIncluded(long timeInMillis)
BaseCalendarisTimeIncluded in interface CalendarisTimeIncluded in class BaseCalendartimeInMillis - the date/time to testCronCalendarCalendar.isTimeIncluded(long)public long getNextIncludedTime(long timeInMillis)
CronCalendar
after the specified time.getNextIncludedTime in interface CalendargetNextIncludedTime in class BaseCalendartimeInMillis - the initial date/time after which to find an
included timeCalendar.getNextIncludedTime(long)public String toString()
CronCalendarpublic CronExpression getCronExpression()
CronExpressionpublic void setCronExpression(String expression) throws ParseException
expression - the new string value to build a cron expression fromParseException - if the string expression cannot be parsedpublic void setCronExpression(CronExpression expression)
expression - the new cron expressionCopyright 2001-2019, Terracotta, Inc.