public class BaseCalendar extends Object implements Calendar, Serializable, 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.
Calendar
,
Serialized FormConstructor and Description |
---|
BaseCalendar() |
BaseCalendar(Calendar baseCalendar) |
BaseCalendar(Calendar baseCalendar,
TimeZone timeZone) |
BaseCalendar(TimeZone timeZone) |
Modifier and Type | Method and Description |
---|---|
Object |
clone() |
protected Calendar |
createJavaCalendar()
Build a
with the current time. |
protected Calendar |
createJavaCalendar(long timeStamp)
Build a
for the given timeStamp. |
Calendar |
getBaseCalendar()
Get the base calendar.
|
String |
getDescription()
Return the description given to the
Calendar instance by
its creator (if any). |
protected Calendar |
getEndOfDayJavaCalendar(long timeInMillis)
Returns the end of the given day
. |
long |
getNextIncludedTime(long timeStamp)
Determine the next time (in milliseconds) that is 'included' by the
Calendar after the given time.
|
protected Calendar |
getStartOfDayJavaCalendar(long timeInMillis)
Returns the start of the given day as a
. |
TimeZone |
getTimeZone()
Returns the time zone for which this
Calendar will be
resolved. |
boolean |
isTimeIncluded(long timeStamp)
Check if date/time represented by timeStamp is included.
|
void |
setBaseCalendar(Calendar baseCalendar)
Set a new base calendar or remove the existing one
|
void |
setDescription(String description)
Set a description for the
Calendar instance - may be
useful for remembering/displaying the purpose of the calendar, though
the description has no meaning to Quartz. |
void |
setTimeZone(TimeZone timeZone)
Sets the time zone for which this
Calendar will be resolved. |
public BaseCalendar()
public BaseCalendar(Calendar baseCalendar)
public BaseCalendar(TimeZone timeZone)
timeZone
- The time zone to use for this Calendar, null
if TimeZone.getDefault()
should be usedpublic BaseCalendar(Calendar baseCalendar, TimeZone timeZone)
timeZone
- The time zone to use for this Calendar, null
if TimeZone.getDefault()
should be usedpublic Object clone()
public void setBaseCalendar(Calendar baseCalendar)
Set a new base calendar or remove the existing one
setBaseCalendar
in interface Calendar
public Calendar getBaseCalendar()
Get the base calendar. Will be null, if not set.
getBaseCalendar
in interface Calendar
public String getDescription()
Return the description given to the Calendar
instance by
its creator (if any).
getDescription
in interface Calendar
public void setDescription(String description)
Set a description for the Calendar
instance - may be
useful for remembering/displaying the purpose of the calendar, though
the description has no meaning to Quartz.
setDescription
in interface Calendar
public TimeZone getTimeZone()
Calendar
will be
resolved.null
if Calendar should
use the TimeZone.getDefault()
public void setTimeZone(TimeZone timeZone)
Calendar
will be resolved.timeZone
- The time zone to use for this Calendar, null
if TimeZone.getDefault()
should be usedpublic 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.
isTimeIncluded
in interface Calendar
Calendar.isTimeIncluded(long)
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.
getNextIncludedTime
in interface Calendar
Calendar.getNextIncludedTime(long)
protected Calendar createJavaCalendar(long timeStamp)
Calendar
for the given timeStamp.
The new Calendar will use the BaseCalendar
time zone if it
is not null
.protected Calendar createJavaCalendar()
Calendar
with the current time.
The new Calendar will use the BaseCalendar
time zone if
it is not null
.protected Calendar getStartOfDayJavaCalendar(long timeInMillis)
Calendar
.
This calculation will take the BaseCalendar
time zone into account if it is not null
.timeInMillis
- A time containing the desired date for the
start-of-day timeCalendar
set to the start of
the given day.protected Calendar getEndOfDayJavaCalendar(long timeInMillis)
Calendar
.
This calculation will take the BaseCalendar
time zone into account if it is not null
.timeInMillis
- a time containing the desired date for the
end-of-day time.Calendar
set to the end of
the given day.Copyright 2001-2019, Terracotta, Inc.