Class MonthlyCalendar

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Calendar

    public class MonthlyCalendar
    extends BaseCalendar
    implements Calendar, java.io.Serializable

    This implementation of the Calendar excludes a set of days of the month. You may use it to exclude every first day of each month for example. But you may define any day of a month.

    Author:
    Juergen Donnerstag
    See Also:
    Calendar, BaseCalendar, Serialized Form
    • Constructor Detail

      • MonthlyCalendar

        public MonthlyCalendar()
      • MonthlyCalendar

        public MonthlyCalendar​(Calendar baseCalendar)
      • MonthlyCalendar

        public MonthlyCalendar​(java.util.TimeZone timeZone)
      • MonthlyCalendar

        public MonthlyCalendar​(Calendar baseCalendar,
                               java.util.TimeZone timeZone)
    • Method Detail

      • getDaysExcluded

        public boolean[] getDaysExcluded()

        Get the array which defines the exclude-value of each day of month. Only the first 31 elements of the array are relevant, with the 0 index element representing the first day of the month.

      • isDayExcluded

        public boolean isDayExcluded​(int day)

        Return true, if day is defined to be excluded.

        Parameters:
        day - The day of the month (from 1 to 31) to check.
      • setDaysExcluded

        public void setDaysExcluded​(boolean[] days)

        Redefine the array of days excluded. The array must non-null and of size greater or equal to 31. The 0 index element represents the first day of the month.

      • setDayExcluded

        public void setDayExcluded​(int day,
                                   boolean exclude)

        Redefine a certain day of the month to be excluded (true) or included (false).

        Parameters:
        day - The day of the month (from 1 to 31) to set.
      • areAllDaysExcluded

        public boolean areAllDaysExcluded()

        Check if all days are excluded. That is no day is included.

      • getNextIncludedTime

        public long getNextIncludedTime​(long timeStamp)

        Determine the next time (in milliseconds) that is 'included' by the Calendar after the given time. Return the original value if timeStamp is included. Return 0 if all days are excluded.

        Note that this Calendar is only has full-day precision.

        Specified by:
        getNextIncludedTime in interface Calendar
        Overrides:
        getNextIncludedTime in class BaseCalendar
        See Also:
        Calendar.getNextIncludedTime(long)