Class BaseCalendar
- java.lang.Object
-
- org.quartz.impl.calendar.BaseCalendar
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,Calendar
- Direct Known Subclasses:
AnnualCalendar,CronCalendar,DailyCalendar,HolidayCalendar,MonthlyCalendar,WeeklyCalendar
public class BaseCalendar extends java.lang.Object implements Calendar, java.io.Serializable, java.lang.Cloneable
This implementation of the Calendar may be used (you don't have to) as a base class for more sophisticated one's. It merely implements the base functionality required by each Calendar.
Regarded as base functionality is the treatment of base calendars. Base calendar allow you to chain (stack) as much calendars as you may need. For example to exclude weekends you may use WeeklyCalendar. In order to exclude holidays as well you may define a WeeklyCalendar instance to be the base calendar for HolidayCalendar instance.
- Author:
- Juergen Donnerstag, James House
- See Also:
Calendar, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description BaseCalendar()BaseCalendar(java.util.TimeZone timeZone)BaseCalendar(Calendar baseCalendar)BaseCalendar(Calendar baseCalendar, java.util.TimeZone timeZone)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone()protected java.util.CalendarcreateJavaCalendar()Build awith the current time.Calendarprotected java.util.CalendarcreateJavaCalendar(long timeStamp)Build afor the given timeStamp.CalendarCalendargetBaseCalendar()Get the base calendar.java.lang.StringgetDescription()Return the description given to theCalendarinstance by its creator (if any).protected java.util.CalendargetEndOfDayJavaCalendar(long timeInMillis)Returns the end of the given day.CalendarlonggetNextIncludedTime(long timeStamp)Determine the next time (in milliseconds) that is 'included' by the Calendar after the given time.protected java.util.CalendargetStartOfDayJavaCalendar(long timeInMillis)Returns the start of the given day as a.Calendarjava.util.TimeZonegetTimeZone()Returns the time zone for which thisCalendarwill be resolved.booleanisTimeIncluded(long timeStamp)Check if date/time represented by timeStamp is included.voidsetBaseCalendar(Calendar baseCalendar)Set a new base calendar or remove the existing onevoidsetDescription(java.lang.String description)Set a description for theCalendarinstance - may be useful for remembering/displaying the purpose of the calendar, though the description has no meaning to Quartz.voidsetTimeZone(java.util.TimeZone timeZone)Sets the time zone for which thisCalendarwill be resolved.
-
-
-
Constructor Detail
-
BaseCalendar
public BaseCalendar()
-
BaseCalendar
public BaseCalendar(Calendar baseCalendar)
-
BaseCalendar
public BaseCalendar(java.util.TimeZone timeZone)
- Parameters:
timeZone- The time zone to use for this Calendar,nullifshould be usedTimeZone.getDefault()
-
BaseCalendar
public BaseCalendar(Calendar baseCalendar, java.util.TimeZone timeZone)
- Parameters:
timeZone- The time zone to use for this Calendar,nullifshould be usedTimeZone.getDefault()
-
-
Method Detail
-
clone
public java.lang.Object clone()
-
setBaseCalendar
public void setBaseCalendar(Calendar baseCalendar)
Set a new base calendar or remove the existing one
- Specified by:
setBaseCalendarin interfaceCalendar
-
getBaseCalendar
public Calendar getBaseCalendar()
Get the base calendar. Will be null, if not set.
- Specified by:
getBaseCalendarin interfaceCalendar
-
getDescription
public java.lang.String getDescription()
Return the description given to the
Calendarinstance by its creator (if any).- Specified by:
getDescriptionin interfaceCalendar- Returns:
- null if no description was set.
-
setDescription
public void setDescription(java.lang.String description)
Set a description for the
Calendarinstance - may be useful for remembering/displaying the purpose of the calendar, though the description has no meaning to Quartz.- Specified by:
setDescriptionin interfaceCalendar
-
getTimeZone
public java.util.TimeZone getTimeZone()
Returns the time zone for which thisCalendarwill be resolved.- Returns:
- This Calendar's timezone,
nullif Calendar should use theTimeZone.getDefault()
-
setTimeZone
public void setTimeZone(java.util.TimeZone timeZone)
Sets the time zone for which thisCalendarwill be resolved.- Parameters:
timeZone- The time zone to use for this Calendar,nullifshould be usedTimeZone.getDefault()
-
isTimeIncluded
public boolean isTimeIncluded(long timeStamp)
Check if date/time represented by timeStamp is included. If included return true. The implementation of BaseCalendar simply calls the base calendars isTimeIncluded() method if base calendar is set.
- Specified by:
isTimeIncludedin interfaceCalendar- See Also:
Calendar.isTimeIncluded(long)
-
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.
- Specified by:
getNextIncludedTimein interfaceCalendar- See Also:
Calendar.getNextIncludedTime(long)
-
createJavaCalendar
protected java.util.Calendar createJavaCalendar(long timeStamp)
Build afor the given timeStamp. The new Calendar will use theCalendarBaseCalendartime zone if it is notnull.
-
createJavaCalendar
protected java.util.Calendar createJavaCalendar()
Build awith the current time. The new Calendar will use theCalendarBaseCalendartime zone if it is notnull.
-
getStartOfDayJavaCalendar
protected java.util.Calendar getStartOfDayJavaCalendar(long timeInMillis)
Returns the start of the given day as a. This calculation will take theCalendarBaseCalendartime zone into account if it is notnull.- Parameters:
timeInMillis- A time containing the desired date for the start-of-day time- Returns:
- A
set to the start of the given day.Calendar
-
getEndOfDayJavaCalendar
protected java.util.Calendar getEndOfDayJavaCalendar(long timeInMillis)
Returns the end of the given day. This calculation will take theCalendarBaseCalendartime zone into account if it is notnull.- Parameters:
timeInMillis- a time containing the desired date for the end-of-day time.- Returns:
- A
set to the end of the given day.Calendar
-
-