private void setDays(BitSet bits, String field, int max) { if (field.contains("?")) { field = "*"; } setNumberHits(bits, field, 0, max); }
private void setDays(BitSet bits, String field, int max) { if (field.contains("?")) { field = "*"; } setNumberHits(bits, field, 0, max); }
private void setMonths(BitSet bits, String value) { int max = 12; value = replaceOrdinals(value, "FOO,JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC"); BitSet months = new BitSet(13); // Months start with 1 in Cron and 0 in Calendar, so push the values first into a longer bit set setNumberHits(months, value, 1, max + 1); // ... and then rotate it to the front of the months for (int i = 1; i <= max; i++) { if (months.get(i)) { bits.set(i - 1); } } }
private void doParse(String[] fields) { setNumberHits(this.seconds, fields[0], 0, 60); setNumberHits(this.minutes, fields[1], 0, 60); setNumberHits(this.hours, fields[2], 0, 24); setDaysOfMonth(this.daysOfMonth, fields[3]); setMonths(this.months, fields[4]); setDays(this.daysOfWeek, replaceOrdinals(fields[5], "SUN,MON,TUE,WED,THU,FRI,SAT"), 8); if (this.daysOfWeek.get(7)) { // Sunday can be represented as 0 or 7 this.daysOfWeek.set(0); this.daysOfWeek.clear(7); } }
private void setMonths(BitSet bits, String value) { int max = 12; value = replaceOrdinals(value, "FOO,JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC"); BitSet months = new BitSet(13); // Months start with 1 in Cron and 0 in Calendar, so push the values first into a longer bit set setNumberHits(months, value, 1, max + 1); // ... and then rotate it to the front of the months for (int i = 1; i <= max; i++) { if (months.get(i)) { bits.set(i - 1); } } }
private void doParse(String[] fields) { setNumberHits(this.seconds, fields[0], 0, 60); setNumberHits(this.minutes, fields[1], 0, 60); setNumberHits(this.hours, fields[2], 0, 24); setDaysOfMonth(this.daysOfMonth, fields[3]); setMonths(this.months, fields[4]); setDays(this.daysOfWeek, replaceOrdinals(fields[5], "SUN,MON,TUE,WED,THU,FRI,SAT"), 8); if (this.daysOfWeek.get(7)) { // Sunday can be represented as 0 or 7 this.daysOfWeek.set(0); this.daysOfWeek.clear(7); } }
private void setDays(BitSet bits, String field, int max) { if (field.contains("?")) { field = "*"; } setNumberHits(bits, field, 0, max); }
private void setMonths(BitSet bits, String value) { int max = 12; value = replaceOrdinals(value, "FOO,JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC"); BitSet months = new BitSet(13); // Months start with 1 in Cron and 0 in Calendar, so push the values first into a longer bit set setNumberHits(months, value, 1, max + 1); // ... and then rotate it to the front of the months for (int i = 1; i <= max; i++) { if (months.get(i)) { bits.set(i - 1); } } }
private void doParse(String[] fields) { setNumberHits(this.seconds, fields[0], 0, 60); setNumberHits(this.minutes, fields[1], 0, 60); setNumberHits(this.hours, fields[2], 0, 24); setDaysOfMonth(this.daysOfMonth, fields[3]); setMonths(this.months, fields[4]); setDays(this.daysOfWeek, replaceOrdinals(fields[5], "SUN,MON,TUE,WED,THU,FRI,SAT"), 8); if (this.daysOfWeek.get(7)) { // Sunday can be represented as 0 or 7 this.daysOfWeek.set(0); this.daysOfWeek.clear(7); } }