public class RollingCalendar
extends java.util.GregorianCalendar
TimeBasedRollingPolicy or similar
timed-based rolling policies. Given a periodicity type and the current time,
it computes the start of the next interval (i.e. the triggering date).| Modifier and Type | Field and Description |
|---|---|
(package private) java.lang.String |
datePattern |
(package private) static java.util.TimeZone |
GMT_TIMEZONE |
(package private) PeriodicityType |
periodicityType |
private static long |
serialVersionUID |
ALL_STYLES, AM, AM_PM, APRIL, areFieldsSet, AUGUST, DATE, DAY_OF_MONTH, DAY_OF_WEEK, DAY_OF_WEEK_IN_MONTH, DAY_OF_YEAR, DECEMBER, DST_OFFSET, ERA, FEBRUARY, FIELD_COUNT, fields, FRIDAY, HOUR, HOUR_OF_DAY, isSet, isTimeSet, JANUARY, JULY, JUNE, LONG, LONG_FORMAT, LONG_STANDALONE, MARCH, MAY, MILLISECOND, MINUTE, MONDAY, MONTH, NARROW_FORMAT, NARROW_STANDALONE, NOVEMBER, OCTOBER, PM, SATURDAY, SECOND, SEPTEMBER, SHORT, SHORT_FORMAT, SHORT_STANDALONE, SUNDAY, THURSDAY, time, TUESDAY, UNDECIMBER, WEDNESDAY, WEEK_OF_MONTH, WEEK_OF_YEAR, YEAR, ZONE_OFFSET| Constructor and Description |
|---|
RollingCalendar(java.lang.String datePattern) |
RollingCalendar(java.lang.String datePattern,
java.util.TimeZone tz,
java.util.Locale locale) |
| Modifier and Type | Method and Description |
|---|---|
private boolean |
collision(long delta) |
PeriodicityType |
computePeriodicityType() |
static int |
diffInMonths(long startTime,
long endTime) |
java.util.Date |
getEndOfNextNthPeriod(java.util.Date now,
int periods) |
java.util.Date |
getNextTriggeringDate(java.util.Date now) |
PeriodicityType |
getPeriodicityType() |
java.util.Date |
getsStartOfCurrentPeriod(long now) |
private static java.util.Date |
innerGetEndOfNextNthPeriod(java.util.Calendar cal,
PeriodicityType periodicityType,
java.util.Date now,
int numPeriods) |
private static java.util.Date |
innerGetEndOfThisPeriod(java.util.Calendar cal,
PeriodicityType periodicityType,
java.util.Date now) |
boolean |
isCollisionFree() |
long |
periodBarriersCrossed(long start,
long end) |
void |
printPeriodicity(ContextAwareBase cab) |
add, clone, computeFields, computeTime, equals, from, getActualMaximum, getActualMinimum, getCalendarType, getGreatestMinimum, getGregorianChange, getLeastMaximum, getMaximum, getMinimum, getTimeZone, getWeeksInWeekYear, getWeekYear, hashCode, isLeapYear, isWeekDateSupported, roll, roll, setGregorianChange, setTimeZone, setWeekDate, toZonedDateTimeafter, before, clear, clear, compareTo, complete, get, getAvailableCalendarTypes, getAvailableLocales, getDisplayName, getDisplayNames, getFirstDayOfWeek, getInstance, getInstance, getInstance, getInstance, getMinimalDaysInFirstWeek, getTime, getTimeInMillis, internalGet, isLenient, isSet, set, set, set, set, setFirstDayOfWeek, setLenient, setMinimalDaysInFirstWeek, setTime, setTimeInMillis, toInstant, toStringprivate static final long serialVersionUID
static final java.util.TimeZone GMT_TIMEZONE
PeriodicityType periodicityType
java.lang.String datePattern
public RollingCalendar(java.lang.String datePattern)
public RollingCalendar(java.lang.String datePattern,
java.util.TimeZone tz,
java.util.Locale locale)
public PeriodicityType getPeriodicityType()
public PeriodicityType computePeriodicityType()
public boolean isCollisionFree()
private boolean collision(long delta)
public void printPeriodicity(ContextAwareBase cab)
public long periodBarriersCrossed(long start,
long end)
public static int diffInMonths(long startTime,
long endTime)
private static java.util.Date innerGetEndOfThisPeriod(java.util.Calendar cal,
PeriodicityType periodicityType,
java.util.Date now)
private static java.util.Date innerGetEndOfNextNthPeriod(java.util.Calendar cal,
PeriodicityType periodicityType,
java.util.Date now,
int numPeriods)
public java.util.Date getEndOfNextNthPeriod(java.util.Date now,
int periods)
public java.util.Date getNextTriggeringDate(java.util.Date now)
public java.util.Date getsStartOfCurrentPeriod(long now)