Class TimeIntervalCron
public final class TimeIntervalCron
extends java.lang.Object
Die Spezifikation erfolgt durch die Angabe von 5 Terminfeldern, wobei im ersten Feld die Minute [0;59], im zweiten Feld die Stunde [0;23], im dritten Feld der Tag [1;31], im viertem Feld der Monat [1;12] und im letzten Feld der Wochentag {Mo,Di,Mi,Do,Fr,Sa,So} angegeben werden kann. Pro Terminfeld sind mehrere Einträge, die durch Kommata getrennt werden müssen, möglich. Die Eingabe eines '*' deckt den gesamten Bereich eines Terminfeldes ab. Mit dem Zeichen '-' können Teilbereiche abgedeckt werden. Die Angaben aller Terminfelder sind UND-verknüpft.
Feld | Mögliche Werte |
---|---|
Minute | 0-59 |
Stunde | 0-23 |
Tag | 1-31 |
Monat | 1-12 |
Wochentag | Mo/Di/Mi/Do/Fr/Sa/So |
Außerdem muss beachtet werden, dass alle Felder UND-Verknüpft sind. Das heißt, '0 0 1 * Mo' steht für "um Mitternacht wenn der Montag auch der erste eines Monats ist". Unter Linux/Cron bedeutet diese Angabe jedoch "Mitternachts an jedem Montag und am ersten eines Monats."
-
Constructor Summary
Constructors Constructor Description TimeIntervalCron()
Standardkonstruktor.TimeIntervalCron(java.lang.String fields)
-
Method Summary
Modifier and Type Method Description java.util.Calendar
getNextRun(java.util.Calendar startingFrom)
Berechnet das Datum des nächsten Ausführungstages.java.lang.String
getParsedInterval()
Gibt den analysierten String wieder aus, nur als Aufzählung (ohne "-" oder *)boolean
hasParseErrors()
Liefert wahr, wenn es beim letzten setFields() zu Parsefehlern kamboolean
hasValues()
Gibt an, ob Zeiten gespeichert sind.void
setFields(java.lang.String fields)
Analysiert den übergebenen String und setzt intern die Felder für das entsprechende Datum.boolean
shouldRun(java.util.Date date)
Prüft, ob die übergebene Zeit in das Interval fällt, zu dem der Job laufen soll.java.lang.String
toString()
Gibt das übergebene String-Pattern wieder aus, oder 'ParseError', wenn er sich nicht hat parsen lassenMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Constructor Details
-
TimeIntervalCron
public TimeIntervalCron()Standardkonstruktor. Es wird keine Zeit gesetzt, daher wird bei jeder Anfrage false (also nicht-starten) geantwortet, bis mittels set() ein String in Cron-Sytnax übergeben wird. -
TimeIntervalCron
public TimeIntervalCron(java.lang.String fields)- Parameters:
fields
-
-
-
Method Details
-
setFields
public void setFields(java.lang.String fields)Analysiert den übergebenen String und setzt intern die Felder für das entsprechende Datum. Alte Einstellungen gehen dabei verlohren.Wenn der übergebene String Syntaxfehler enthält, werden alle alle Felder deaktiviert so dass es nie zu einer Ausführung kommt.
- Parameters:
fields
-
-
shouldRun
public boolean shouldRun(java.util.Date date)Prüft, ob die übergebene Zeit in das Interval fällt, zu dem der Job laufen soll. Die Sekunden werden dabei ignoriert, d.h. es wird immer abgerundet.- Parameters:
date
- Milisekunde eines Zeitpunkts, der überprüft werden soll- Returns:
- Wahr, wenn der Zeitpunkt durch die gesetzten Zeitspannen abgedeckt wird, ansonten falsch
-
getNextRun
public java.util.Calendar getNextRun(java.util.Calendar startingFrom)Berechnet das Datum des nächsten Ausführungstages. Berücksichtigt wird dabei nur der Zeitraum eines Jahres.- Parameters:
startingFrom
- Datum von dem ab gesucht werden soll. Null falls von "jetzt" an gesucht werden soll.- Returns:
- Datum des nächsten Ausführungstages innerhalb des nächsten Jahres, ansonsten null.
-
hasValues
public boolean hasValues()Gibt an, ob Zeiten gespeichert sind.- Returns:
- Wahr, wenn Zeiten gespeichert sind. Falsch, wenn es niemals zu einer Ausführung kommen würden
-
toString
public java.lang.String toString()Gibt das übergebene String-Pattern wieder aus, oder 'ParseError', wenn er sich nicht hat parsen lassen- Overrides:
toString
in classjava.lang.Object
-
getParsedInterval
public java.lang.String getParsedInterval()Gibt den analysierten String wieder aus, nur als Aufzählung (ohne "-" oder *)- Returns:
- der analysierte String
-
hasParseErrors
public boolean hasParseErrors()Liefert wahr, wenn es beim letzten setFields() zu Parsefehlern kam- Returns:
- Ob es Fehler beim Parsen des Strings beim letzten Aufruf von setFields gab.
-