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, setDescription
public CronCalendar(String expression) throws ParseException
CronCalendar
with the given cron expression and no
baseCalendar
.expression
- a String representation of the desired cron expressionParseException
public 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 expressionParseException
public 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.ParseException
public Object clone()
clone
in interface Calendar
clone
in class BaseCalendar
public TimeZone getTimeZone()
CronExpression
of
this CronCalendar
will be resolved.
Overrides
to
defer to its BaseCalendar.getTimeZone()
CronExpression
.
getTimeZone
in class BaseCalendar
null
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 BaseCalendar
timeZone
- The time zone to use for this Calendar, null
if TimeZone.getDefault()
should be usedpublic boolean isTimeIncluded(long timeInMillis)
BaseCalendar
isTimeIncluded
in interface Calendar
isTimeIncluded
in class BaseCalendar
timeInMillis
- the date/time to testCronCalendar
Calendar.isTimeIncluded(long)
public long getNextIncludedTime(long timeInMillis)
CronCalendar
after the specified time.getNextIncludedTime
in interface Calendar
getNextIncludedTime
in class BaseCalendar
timeInMillis
- the initial date/time after which to find an
included timeCalendar.getNextIncludedTime(long)
public String toString()
CronCalendar
public CronExpression getCronExpression()
CronExpression
public 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.