Java Doc for CronExpression.java in  » Project-Management » quartz » org » quartz » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Project Management » quartz » org.quartz 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.quartz.CronExpression

CronExpression
public class CronExpression implements Serializable,Cloneable(Code)
Provides a parser and evaluator for unix-like cron expressions. Cron expressions provide the ability to specify complex time combinations such as "At 8:00am every Monday through Friday" or "At 1:30am every last Friday of the month".

Cron expressions are comprised of 6 required fields and one optional field separated by white space. The fields respectively are described as follows:
Field Name   Allowed Values   Allowed Special Characters
Seconds   0-59   , - * /
Minutes   0-59   , - * /
Hours   0-23   , - * /
Day-of-month   1-31   , - * ? / L W
Month   1-12 or JAN-DEC   , - * /
Day-of-Week   1-7 or SUN-SAT   , - * ? / L #
Year (Optional)   empty, 1970-2099   , - * /

The '*' character is used to specify all values. For example, "*" in the minute field means "every minute".

The '?' character is allowed for the day-of-month and day-of-week fields. It is used to specify 'no specific value'. This is useful when you need to specify something in one of the two fileds, but not the other.

The '-' character is used to specify ranges For example "10-12" in the hour field means "the hours 10, 11 and 12".

The ',' character is used to specify additional values. For example "MON,WED,FRI" in the day-of-week field means "the days Monday, Wednesday, and Friday".

The '/' character is used to specify increments. For example "0/15" in the seconds field means "the seconds 0, 15, 30, and 45". And "5/15" in the seconds field means "the seconds 5, 20, 35, and 50". Specifying '*' before the '/' is equivalent to specifying 0 is the value to start with. Essentially, for each field in the expression, there is a set of numbers that can be turned on or off. For seconds and minutes, the numbers range from 0 to 59. For hours 0 to 23, for days of the month 0 to 31, and for months 1 to 12. The "/" character simply helps you turn on every "nth" value in the given set. Thus "7/6" in the month field only turns on month "7", it does NOT mean every 6th month, please note that subtlety.

The 'L' character is allowed for the day-of-month and day-of-week fields. This character is short-hand for "last", but it has different meaning in each of the two fields. For example, the value "L" in the day-of-month field means "the last day of the month" - day 31 for January, day 28 for February on non-leap years. If used in the day-of-week field by itself, it simply means "7" or "SAT". But if used in the day-of-week field after another value, it means "the last xxx day of the month" - for example "6L" means "the last friday of the month". When using the 'L' option, it is important not to specify lists, or ranges of values, as you'll get confusing results.

The 'W' character is allowed for the day-of-month field. This character is used to specify the weekday (Monday-Friday) nearest the given day. As an example, if you were to specify "15W" as the value for the day-of-month field, the meaning is: "the nearest weekday to the 15th of the month". So if the 15th is a Saturday, the trigger will fire on Friday the 14th. If the 15th is a Sunday, the trigger will fire on Monday the 16th. If the 15th is a Tuesday, then it will fire on Tuesday the 15th. However if you specify "1W" as the value for day-of-month, and the 1st is a Saturday, the trigger will fire on Monday the 3rd, as it will not 'jump' over the boundary of a month's days. The 'W' character can only be specified when the day-of-month is a single day, not a range or list of days.

The 'L' and 'W' characters can also be combined for the day-of-month expression to yield 'LW', which translates to "last weekday of the month".

The '#' character is allowed for the day-of-week field. This character is used to specify "the nth" XXX day of the month. For example, the value of "6#3" in the day-of-week field means the third Friday of the month (day 6 = Friday and "#3" = the 3rd one in the month). Other examples: "2#1" = the first Monday of the month and "4#5" = the fifth Wednesday of the month. Note that if you specify "#5" and there is not 5 of the given day-of-week in the month, then no firing will occur that month.

The legal characters and the names of months and days of the week are not case sensitive.

NOTES:

  • Support for specifying both a day-of-week and a day-of-month value is not complete (you'll need to use the '?' character in on of these fields).


author:
   Sharada Jambula, James House
author:
   Contributions from Mads Henderson
author:
   Refactoring from CronTrigger to CronExpression by Aaron Craven


Field Summary
final protected static  IntegerALL_SPEC
    
final protected static  intALL_SPEC_INT
    
final protected static  intDAY_OF_MONTH
    
final protected static  intDAY_OF_WEEK
    
final protected static  intHOUR
    
final protected static  intMINUTE
    
final protected static  intMONTH
    
final protected static  IntegerNO_SPEC
    
final protected static  intNO_SPEC_INT
    
final protected static  intSECOND
    
final protected static  intYEAR
    
protected static  MapdayMap
    
protected transient  TreeSetdaysOfMonth
    
protected transient  TreeSetdaysOfWeek
    
protected transient  booleanexpressionParsed
    
protected transient  TreeSethours
    
protected transient  booleanlastdayOfMonth
    
protected transient  booleanlastdayOfWeek
    
protected transient  TreeSetminutes
    
protected static  MapmonthMap
    
protected transient  TreeSetmonths
    
protected transient  booleannearestWeekday
    
protected transient  intnthdayOfWeek
    
protected transient  TreeSetseconds
    
protected transient  TreeSetyears
    

Constructor Summary
public  CronExpression(String cronExpression)
     Constructs a new CronExpression based on the specified parameter.

Method Summary
protected  voidaddToSet(int val, int end, int incr, int type)
    
protected  voidbuildExpression(String expression)
    
protected  intcheckNext(int pos, String s, int val, int type)
    
public  Objectclone()
    
protected  intfindNextWhiteSpace(int i, String s)
    
public  StringgetCronExpression()
    
protected  intgetDayOfWeekNumber(String s)
    
protected  StringgetExpressionSetSummary(java.util.Set set)
    
protected  StringgetExpressionSetSummary(java.util.ArrayList list)
    
public  StringgetExpressionSummary()
    
public  DategetFinalFireTime()
     NOT YET IMPLEMENTED: Returns the final time that the CronExpression will match.
protected  intgetLastDayOfMonth(int monthNum, int year)
    
protected  intgetMonthNumber(String s)
    
public  DategetNextInvalidTimeAfter(Date date)
    
public  DategetNextValidTimeAfter(Date date)
     Returns the next date/time after the given date/time which satisfies the cron expression.
protected  intgetNumericValue(String s, int i)
    
protected  TreeSetgetSet(int type)
    
protected  DategetTimeAfter(Date afterTime)
    
protected  DategetTimeBefore(Date endTime)
     NOT YET IMPLEMENTED: Returns the time before the given time that the CronExpression matches.
public  TimeZonegetTimeZone()
     Returns the time zone for which this CronExpression will be resolved.
protected  ValueSetgetValue(int v, String s, int i)
    
protected  booleanisLeapYear(int year)
    
public  booleanisSatisfiedBy(Date date)
     Indicates whether the given date satisfies the cron expression.
public static  booleanisValidExpression(String cronExpression)
    
protected  voidsetCalendarHour(Calendar cal, int hour)
     Advance the calendar to the particular hour paying particular attention to daylight saving problems.
public  voidsetTimeZone(TimeZone timeZone)
     Sets the time zone for which this CronExpression will be resolved.
protected  intskipWhiteSpace(int i, String s)
    
protected  intstoreExpressionVals(int pos, String s, int type)
    
public  StringtoString()
    

Field Detail
ALL_SPEC
final protected static Integer ALL_SPEC(Code)



ALL_SPEC_INT
final protected static int ALL_SPEC_INT(Code)



DAY_OF_MONTH
final protected static int DAY_OF_MONTH(Code)



DAY_OF_WEEK
final protected static int DAY_OF_WEEK(Code)



HOUR
final protected static int HOUR(Code)



MINUTE
final protected static int MINUTE(Code)



MONTH
final protected static int MONTH(Code)



NO_SPEC
final protected static Integer NO_SPEC(Code)



NO_SPEC_INT
final protected static int NO_SPEC_INT(Code)



SECOND
final protected static int SECOND(Code)



YEAR
final protected static int YEAR(Code)



dayMap
protected static Map dayMap(Code)



daysOfMonth
protected transient TreeSet daysOfMonth(Code)



daysOfWeek
protected transient TreeSet daysOfWeek(Code)



expressionParsed
protected transient boolean expressionParsed(Code)



hours
protected transient TreeSet hours(Code)



lastdayOfMonth
protected transient boolean lastdayOfMonth(Code)



lastdayOfWeek
protected transient boolean lastdayOfWeek(Code)



minutes
protected transient TreeSet minutes(Code)



monthMap
protected static Map monthMap(Code)



months
protected transient TreeSet months(Code)



nearestWeekday
protected transient boolean nearestWeekday(Code)



nthdayOfWeek
protected transient int nthdayOfWeek(Code)



seconds
protected transient TreeSet seconds(Code)



years
protected transient TreeSet years(Code)




Constructor Detail
CronExpression
public CronExpression(String cronExpression) throws ParseException(Code)
Constructs a new CronExpression based on the specified parameter.
Parameters:
  cronExpression - String representation of the cron expression thenew object should represent
throws:
  java.text.ParseException - if the string expression cannot be parsed into a valid CronExpression




Method Detail
addToSet
protected void addToSet(int val, int end, int incr, int type) throws ParseException(Code)



buildExpression
protected void buildExpression(String expression) throws ParseException(Code)



checkNext
protected int checkNext(int pos, String s, int val, int type) throws ParseException(Code)



clone
public Object clone()(Code)



findNextWhiteSpace
protected int findNextWhiteSpace(int i, String s)(Code)



getCronExpression
public String getCronExpression()(Code)



getDayOfWeekNumber
protected int getDayOfWeekNumber(String s)(Code)



getExpressionSetSummary
protected String getExpressionSetSummary(java.util.Set set)(Code)



getExpressionSetSummary
protected String getExpressionSetSummary(java.util.ArrayList list)(Code)



getExpressionSummary
public String getExpressionSummary()(Code)



getFinalFireTime
public Date getFinalFireTime()(Code)
NOT YET IMPLEMENTED: Returns the final time that the CronExpression will match.



getLastDayOfMonth
protected int getLastDayOfMonth(int monthNum, int year)(Code)



getMonthNumber
protected int getMonthNumber(String s)(Code)



getNextInvalidTimeAfter
public Date getNextInvalidTimeAfter(Date date)(Code)
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 the next valid date/time



getNextValidTimeAfter
public Date getNextValidTimeAfter(Date date)(Code)
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 validdate/time the next valid date/time



getNumericValue
protected int getNumericValue(String s, int i)(Code)



getSet
protected TreeSet getSet(int type)(Code)



getTimeAfter
protected Date getTimeAfter(Date afterTime)(Code)



getTimeBefore
protected Date getTimeBefore(Date endTime)(Code)
NOT YET IMPLEMENTED: Returns the time before the given time that the CronExpression matches.



getTimeZone
public TimeZone getTimeZone()(Code)
Returns the time zone for which this CronExpression will be resolved.



getValue
protected ValueSet getValue(int v, String s, int i)(Code)



isLeapYear
protected boolean isLeapYear(int year)(Code)



isSatisfiedBy
public boolean isSatisfiedBy(Date date)(Code)
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 a boolean indicating whether the given date satisfies the cronexpression



isValidExpression
public static boolean isValidExpression(String cronExpression)(Code)
Indicates whether the specified cron expression can be parsed into a valid cron expression
Parameters:
  cronExpression - the expression to evaluate a boolean indicating whether the given expression is a valid cronexpression



setCalendarHour
protected void setCalendarHour(Calendar cal, int hour)(Code)
Advance the calendar to the particular hour paying particular attention to daylight saving problems.
Parameters:
  cal -
Parameters:
  hour -



setTimeZone
public void setTimeZone(TimeZone timeZone)(Code)
Sets the time zone for which this CronExpression will be resolved.



skipWhiteSpace
protected int skipWhiteSpace(int i, String s)(Code)



storeExpressionVals
protected int storeExpressionVals(int pos, String s, int type) throws ParseException(Code)



toString
public String toString()(Code)
Returns the string representation of the CronExpression a string representation of the CronExpression



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.