Package ch.qos.logback.core.rolling.helper

# Class RollingCalendar

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 to `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).

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

Modifier and Type
Method
Description
`PeriodicityType`
`computePeriodicityType()`
`static int`
`diffInMonths(long startTime, long endTime)`
`Date`
`getEndOfNextNthPeriod(Date now, int periods)`
`Date`
`getNextTriggeringDate(Date now)`
`PeriodicityType`
`getPeriodicityType()`
`long`
`getStartOfCurrentPeriodWithGMTOffsetCorrection(long now, TimeZone timezone)`
`boolean`
`isCollisionFree()`
`long`
`periodBarriersCrossed(long start, long end)`
`void`
`printPeriodicity(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`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### RollingCalendar

public RollingCalendar(String datePattern)

### RollingCalendar

public RollingCalendar(String datePattern, TimeZone tz, Locale locale)

## Method Details

### 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 Date getEndOfNextNthPeriod(Date now, int periods)

### getNextTriggeringDate

public Date getNextTriggeringDate(Date now)

### getStartOfCurrentPeriodWithGMTOffsetCorrection

public long getStartOfCurrentPeriodWithGMTOffsetCorrection(long now, TimeZone timezone)