Package io.jmix.businesscalendar.model
Class BusinessCalendarImpl
java.lang.Object
io.jmix.businesscalendar.model.BusinessCalendarImpl
- All Implemented Interfaces:
BusinessCalendar
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addBusinessDay
(DayOfWeek dayOfWeek, BusinessDay businessDay) addBusinessDay
(LocalDate localDate, BusinessDay businessDay) boolean
addHoliday
(Holiday holiday) getBusinessIntervalEndAfter
(LocalDateTime dateTime) Returns a date-time of the next end of business interval relative to provided date-time: If initial date-time is within interval - returns end-time of this interval If initial date-time is outside of interval or points exact at its end-time - returns end-time of next intervalgetBusinessIntervalEndBefore
(LocalDateTime dateTime) Returns a date-time of the previous end of business interval relative to provided date-time: Always returns end-time of previous interval.getBusinessIntervalStartAfter
(LocalDateTime dateTime) Returns a date-time of the next start of business interval relative to provided date-time: Always returns start-time of next interval.getBusinessIntervalStartBefore
(LocalDateTime dateTime) Returns a date-time of the previous start of business interval relative to provided date-time: If initial date-time is within interval - returns start-time of this interval If initial date-time is outside of interval or points exact at its start-time - returns start-time of previous intervalgetCode()
Returns code of given business calendar which should be unique among all registered calendars.getName()
Returns human-readable name of given business calendar.org.springframework.util.MultiValueMap<DayOfWeek,
BusinessDay> Returns source from which given calendar come from.boolean
isBusinessDay
(LocalDate date) Checks if provided date belongs to business days.boolean
isBusinessTime
(LocalDateTime dateTime) Checks if provided date-time belongs to business time.Returns a copy of provided date with the specified amount of business days subtracted.minus
(LocalDateTime dateTime, int hoursToSubtract) Returns a copy of provided date-time with the specified amount of business hours subtracted.minus
(LocalDateTime dateTime, Duration duration) Returns a copy of provided date-time with the specified duration in terms of working time subtracted.Returns a copy of provided date with the specified amount of business days added.plus
(LocalDateTime dateTime, int hoursToAdd) Returns a copy of provided date-time with the specified amount of business hours added.plus
(LocalDateTime dateTime, Duration duration) Returns a copy of provided date-time with the specified duration in terms of working time added.void
setAdditionalBusinessDays
(Map<LocalDate, BusinessDay> additionalBusinessDays) void
setHolidays
(Collection<Holiday> holidays) void
setScheduledBusinessDays
(org.springframework.util.MultiValueMap<DayOfWeek, BusinessDay> scheduledBusinessDays)
-
Constructor Details
-
BusinessCalendarImpl
-
-
Method Details
-
getName
Description copied from interface:BusinessCalendar
Returns human-readable name of given business calendar.- Specified by:
getName
in interfaceBusinessCalendar
- Returns:
- calendar's name
-
getCode
Description copied from interface:BusinessCalendar
Returns code of given business calendar which should be unique among all registered calendars.- Specified by:
getCode
in interfaceBusinessCalendar
- Returns:
- calendar's unique identifier
-
getSource
Description copied from interface:BusinessCalendar
Returns source from which given calendar come from. Possible variants areannotatedClass
anddatabase
.- Specified by:
getSource
in interfaceBusinessCalendar
- Returns:
- calendar's source
- See Also:
-
getCustomProperties
-
getHolidays
-
getScheduledBusinessDays
-
getAdditionalBusinessDays
-
addHoliday
-
addBusinessDay
-
addBusinessDay
-
setHolidays
-
setScheduledBusinessDays
public void setScheduledBusinessDays(org.springframework.util.MultiValueMap<DayOfWeek, BusinessDay> scheduledBusinessDays) -
setAdditionalBusinessDays
-
isBusinessDay
Description copied from interface:BusinessCalendar
Checks if provided date belongs to business days.- Specified by:
isBusinessDay
in interfaceBusinessCalendar
- Parameters:
date
- date to be checked.- Returns:
- true if this date is business day.
-
isBusinessTime
Description copied from interface:BusinessCalendar
Checks if provided date-time belongs to business time.- Specified by:
isBusinessTime
in interfaceBusinessCalendar
- Parameters:
dateTime
- source date-time.- Returns:
- true if provided date-time is business time.
-
plus
Description copied from interface:BusinessCalendar
Returns a copy of provided date with the specified amount of business days added.- Specified by:
plus
in interfaceBusinessCalendar
- Parameters:
date
- source date.daysToAdd
- count of business days to add.- Returns:
- a LocalDate based on provided with the specified amount of provided business days added.
-
minus
Description copied from interface:BusinessCalendar
Returns a copy of provided date with the specified amount of business days subtracted.- Specified by:
minus
in interfaceBusinessCalendar
- Parameters:
date
- source date.daysToSubtract
- count of business days to subtract.- Returns:
- a LocalDate based on provided with the specified amount of provided business days subtracted.
-
plus
Description copied from interface:BusinessCalendar
Returns a copy of provided date-time with the specified amount of business hours added.- Specified by:
plus
in interfaceBusinessCalendar
- Parameters:
dateTime
- source date-time.hoursToAdd
- count of working hours to added.- Returns:
- a LocalDateTime based on provided date-time with the addition of provided working hours made.
-
minus
Description copied from interface:BusinessCalendar
Returns a copy of provided date-time with the specified amount of business hours subtracted.- Specified by:
minus
in interfaceBusinessCalendar
- Parameters:
dateTime
- source date-time.hoursToSubtract
- count of working hours to subtract.- Returns:
- a LocalDateTime based on provided date-time with the extraction of provided working hours made.
-
plus
Description copied from interface:BusinessCalendar
Returns a copy of provided date-time with the specified duration in terms of working time added.Extra caution is needed when
duration
is obtained using the number of days. In this case the resulting date-time will be calculated by adding 24*days business hours that might be not desired behavior.- Specified by:
plus
in interfaceBusinessCalendar
- Parameters:
dateTime
- source date-time.duration
- duration in terms of working time to be added.- Returns:
- a LocalDateTime based on provided date-time with the addition of provided duration made.
-
minus
Description copied from interface:BusinessCalendar
Returns a copy of provided date-time with the specified duration in terms of working time subtracted.Extra caution is needed when
duration
is obtained using the number of days. In this case the resulting date-time will be calculated by subtracting 24*days business hours that might be not desired behavior.- Specified by:
minus
in interfaceBusinessCalendar
- Parameters:
dateTime
- source date-time.duration
- duration in terms of working time to be subtracted.- Returns:
- a LocalDateTime based on provided date-time with the extraction of provided duration made.
-
getBusinessIntervalStartAfter
Description copied from interface:BusinessCalendar
Returns a date-time of the next start of business interval relative to provided date-time: Always returns start-time of next interval.- Specified by:
getBusinessIntervalStartAfter
in interfaceBusinessCalendar
- Parameters:
dateTime
- initial date-time.- Returns:
- LocalDateTime with start-time of next interval.
-
getBusinessIntervalStartBefore
Description copied from interface:BusinessCalendar
Returns a date-time of the previous start of business interval relative to provided date-time:- If initial date-time is within interval - returns start-time of this interval
- If initial date-time is outside of interval or points exact at its start-time - returns start-time of previous interval
- Specified by:
getBusinessIntervalStartBefore
in interfaceBusinessCalendar
- Parameters:
dateTime
- initial date-time.- Returns:
- LocalDateTime with previous start-time.
-
getBusinessIntervalEndAfter
Description copied from interface:BusinessCalendar
Returns a date-time of the next end of business interval relative to provided date-time:- If initial date-time is within interval - returns end-time of this interval
- If initial date-time is outside of interval or points exact at its end-time - returns end-time of next interval
- Specified by:
getBusinessIntervalEndAfter
in interfaceBusinessCalendar
- Parameters:
dateTime
- initial date-time.- Returns:
- LocalDateTime with next end-time.
-
getBusinessIntervalEndBefore
Description copied from interface:BusinessCalendar
Returns a date-time of the previous end of business interval relative to provided date-time: Always returns end-time of previous interval.- Specified by:
getBusinessIntervalEndBefore
in interfaceBusinessCalendar
- Parameters:
dateTime
- initial date-time.- Returns:
- LocalDateTime with end-time of previous interval.
-