Package org.redisson.executor
Class CronExpression
- java.lang.Object
-
- org.redisson.executor.CronExpression
-
- All Implemented Interfaces:
Serializable
,Cloneable
public final class CronExpression extends Object implements Serializable, Cloneable
- Author:
- Sharada Jambula, James House, Contributions from Mads Henderson, Refactoring from CronTrigger to CronExpression by Aaron Craven
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected static Integer
ALL_SPEC
protected static int
ALL_SPEC_INT
protected static int
DAY_OF_MONTH
protected static int
DAY_OF_WEEK
protected static Map<String,Integer>
dayMap
protected TreeSet<Integer>
daysOfMonth
protected TreeSet<Integer>
daysOfWeek
protected boolean
expressionParsed
protected static int
HOUR
protected TreeSet<Integer>
hours
protected int
lastdayOffset
protected boolean
lastdayOfMonth
protected boolean
lastdayOfWeek
static int
MAX_YEAR
protected static int
MINUTE
protected TreeSet<Integer>
minutes
protected static int
MONTH
protected static Map<String,Integer>
monthMap
protected TreeSet<Integer>
months
protected boolean
nearestWeekday
protected static Integer
NO_SPEC
protected static int
NO_SPEC_INT
protected int
nthdayOfWeek
protected static int
SECOND
protected TreeSet<Integer>
seconds
protected static int
YEAR
protected TreeSet<Integer>
years
-
Constructor Summary
Constructors Constructor Description CronExpression(String cronExpression)
Constructs a newCronExpression
based on the specified parameter.CronExpression(CronExpression expression)
Constructs a newCronExpression
as a copy of an existing instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
addToSet(int val, int end, int incr, int type)
protected void
buildExpression(String expression)
protected int
checkNext(int pos, String s, int val, int type)
Object
clone()
Deprecated.protected int
findNextWhiteSpace(int i, String s)
String
getCronExpression()
protected int
getDayOfWeekNumber(String s)
protected String
getExpressionSetSummary(ArrayList<Integer> list)
protected String
getExpressionSetSummary(Set<Integer> set)
String
getExpressionSummary()
Date
getFinalFireTime()
protected int
getLastDayOfMonth(int monthNum, int year)
protected int
getMonthNumber(String s)
Date
getNextInvalidTimeAfter(Date date)
Returns the next date/time after the given date/time which does not satisfy the expressionDate
getNextValidTimeAfter(Date date)
Returns the next date/time after the given date/time which satisfies the cron expression.protected int
getNumericValue(String s, int i)
Date
getTimeAfter(Date afterTime)
Date
getTimeBefore(Date endTime)
TimeZone
getTimeZone()
Returns the time zone for which thisCronExpression
will be resolved.protected org.redisson.executor.ValueSet
getValue(int v, String s, int i)
protected boolean
isLeapYear(int year)
boolean
isSatisfiedBy(Date date)
Indicates whether the given date satisfies the cron expression.static boolean
isValidExpression(String cronExpression)
Indicates whether the specified cron expression can be parsed into a valid cron expressionprotected void
setCalendarHour(Calendar cal, int hour)
Advance the calendar to the particular hour paying particular attention to daylight saving problems.void
setTimeZone(TimeZone timeZone)
Sets the time zone for which thisCronExpression
will be resolved.protected int
skipWhiteSpace(int i, String s)
protected int
storeExpressionVals(int pos, String s, int type)
String
toString()
Returns the string representation of theCronExpression
static void
validateExpression(String cronExpression)
-
-
-
Field Detail
-
SECOND
protected static final int SECOND
- See Also:
- Constant Field Values
-
MINUTE
protected static final int MINUTE
- See Also:
- Constant Field Values
-
HOUR
protected static final int HOUR
- See Also:
- Constant Field Values
-
DAY_OF_MONTH
protected static final int DAY_OF_MONTH
- See Also:
- Constant Field Values
-
MONTH
protected static final int MONTH
- See Also:
- Constant Field Values
-
DAY_OF_WEEK
protected static final int DAY_OF_WEEK
- See Also:
- Constant Field Values
-
YEAR
protected static final int YEAR
- See Also:
- Constant Field Values
-
ALL_SPEC_INT
protected static final int ALL_SPEC_INT
- See Also:
- Constant Field Values
-
NO_SPEC_INT
protected static final int NO_SPEC_INT
- See Also:
- Constant Field Values
-
ALL_SPEC
protected static final Integer ALL_SPEC
-
NO_SPEC
protected static final Integer NO_SPEC
-
lastdayOfWeek
protected transient boolean lastdayOfWeek
-
nthdayOfWeek
protected transient int nthdayOfWeek
-
lastdayOfMonth
protected transient boolean lastdayOfMonth
-
nearestWeekday
protected transient boolean nearestWeekday
-
lastdayOffset
protected transient int lastdayOffset
-
expressionParsed
protected transient boolean expressionParsed
-
MAX_YEAR
public static final int MAX_YEAR
-
-
Constructor Detail
-
CronExpression
public CronExpression(String cronExpression)
Constructs a newCronExpression
based on the specified parameter.- Parameters:
cronExpression
- String representation of the cron expression the new object should represent
-
CronExpression
public CronExpression(CronExpression expression)
Constructs a newCronExpression
as a copy of an existing instance.- Parameters:
expression
- The existing cron expression to be copied
-
-
Method Detail
-
isSatisfiedBy
public boolean isSatisfiedBy(Date date)
Indicates whether the given date satisfies the cron expression. Note that milliseconds are ignored, so two Dates falling on different milliseconds of the same second will always have the same result here.- Parameters:
date
- the date to evaluate- Returns:
- a boolean indicating whether the given date satisfies the cron expression
-
getNextValidTimeAfter
public Date getNextValidTimeAfter(Date date)
Returns the next date/time after the given date/time which satisfies the cron expression.- Parameters:
date
- the date/time at which to begin the search for the next valid date/time- Returns:
- the next valid date/time
-
getNextInvalidTimeAfter
public Date getNextInvalidTimeAfter(Date date)
Returns the next date/time after the given date/time which does not satisfy the expression- Parameters:
date
- the date/time at which to begin the search for the next invalid date/time- Returns:
- the next valid date/time
-
getTimeZone
public TimeZone getTimeZone()
Returns the time zone for which thisCronExpression
will be resolved.- Returns:
- time zone
-
setTimeZone
public void setTimeZone(TimeZone timeZone)
Sets the time zone for which thisCronExpression
will be resolved.- Parameters:
timeZone
- object
-
toString
public String toString()
Returns the string representation of theCronExpression
-
isValidExpression
public static boolean isValidExpression(String cronExpression)
Indicates whether the specified cron expression can be parsed into a valid cron expression- Parameters:
cronExpression
- the expression to evaluate- Returns:
- a boolean indicating whether the given expression is a valid cron expression
-
validateExpression
public static void validateExpression(String cronExpression) throws ParseException
- Throws:
ParseException
-
buildExpression
protected void buildExpression(String expression) throws ParseException
- Throws:
ParseException
-
storeExpressionVals
protected int storeExpressionVals(int pos, String s, int type) throws ParseException
- Throws:
ParseException
-
checkNext
protected int checkNext(int pos, String s, int val, int type) throws ParseException
- Throws:
ParseException
-
getCronExpression
public String getCronExpression()
-
getExpressionSummary
public String getExpressionSummary()
-
skipWhiteSpace
protected int skipWhiteSpace(int i, String s)
-
findNextWhiteSpace
protected int findNextWhiteSpace(int i, String s)
-
addToSet
protected void addToSet(int val, int end, int incr, int type) throws ParseException
- Throws:
ParseException
-
getValue
protected org.redisson.executor.ValueSet getValue(int v, String s, int i)
-
getNumericValue
protected int getNumericValue(String s, int i)
-
getMonthNumber
protected int getMonthNumber(String s)
-
getDayOfWeekNumber
protected int getDayOfWeekNumber(String s)
-
setCalendarHour
protected void setCalendarHour(Calendar cal, int hour)
Advance the calendar to the particular hour paying particular attention to daylight saving problems.- Parameters:
cal
- the calendar to operate onhour
- the hour to set
-
getFinalFireTime
public Date getFinalFireTime()
-
isLeapYear
protected boolean isLeapYear(int year)
-
getLastDayOfMonth
protected int getLastDayOfMonth(int monthNum, int year)
-
clone
@Deprecated public Object clone()
Deprecated.
-
-