- java.lang.Object
-
- java.util.Calendar
-
- java.util.GregorianCalendar
-
- ch.qos.logback.core.rolling.helper.RollingCalendar
-
- All Implemented Interfaces:
Serializable,Cloneable,Comparable<Calendar>
public class RollingCalendar extends GregorianCalendar
RollingCalendar is a helper class toTimeBasedRollingPolicyor 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).- Author:
- Ceki Gülcü
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.util.Calendar
Calendar.Builder
-
-
Field Summary
-
Fields inherited from class java.util.GregorianCalendar
AD, BC
-
Fields inherited from class java.util.Calendar
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 Summary
Constructors Constructor Description RollingCalendar(String datePattern)RollingCalendar(String datePattern, TimeZone tz, Locale locale)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description PeriodicityTypecomputePeriodicityType()static intdiffInMonths(long startTime, long endTime)InstantgetEndOfNextNthPeriod(Instant instant, int periods)InstantgetNextTriggeringDate(Instant instant)PeriodicityTypegetPeriodicityType()longgetStartOfCurrentPeriodWithGMTOffsetCorrection(long now, TimeZone timezone)booleanisCollisionFree()longperiodBarriersCrossed(long start, long end)voidprintPeriodicity(ContextAwareBase cab)-
Methods inherited from class java.util.GregorianCalendar
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, toZonedDateTime
-
Methods inherited from class java.util.Calendar
after, 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, toString
-
-
-
-
Constructor Detail
-
RollingCalendar
public RollingCalendar(String datePattern)
-
RollingCalendar
public RollingCalendar(String datePattern, TimeZone tz, Locale locale)
-
-
Method Detail
-
getPeriodicityType
public PeriodicityType getPeriodicityType()
-
computePeriodicityType
public PeriodicityType computePeriodicityType()
-
isCollisionFree
public boolean isCollisionFree()
-
printPeriodicity
public void printPeriodicity(ContextAwareBase cab)
-
periodBarriersCrossed
public long periodBarriersCrossed(long start, long end)
-
diffInMonths
public static int diffInMonths(long startTime, long endTime)
-
getEndOfNextNthPeriod
public Instant getEndOfNextNthPeriod(Instant instant, int periods)
-
getNextTriggeringDate
public Instant getNextTriggeringDate(Instant instant)
-
getStartOfCurrentPeriodWithGMTOffsetCorrection
public long getStartOfCurrentPeriodWithGMTOffsetCorrection(long now, TimeZone timezone)
-
-