Package io.jmix.businesscalendar.model
Interface BusinessCalendar
- All Known Implementing Classes:
BusinessCalendarImpl
public interface BusinessCalendar
Defines API to operate with date and time in terms of "business hours".
-
Method Summary
Modifier and TypeMethodDescriptiongetBusinessIntervalEndAfter(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.Returns source from which given calendar come from.booleanisBusinessDay(LocalDate date) Checks if provided date belongs to business days.booleanisBusinessTime(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.
-
Method Details
-
getName
String getName()Returns human-readable name of given business calendar.- Returns:
- calendar's name
-
getCode
String getCode()Returns code of given business calendar which should be unique among all registered calendars.- Returns:
- calendar's unique identifier
-
getSource
String getSource()Returns source from which given calendar come from. Possible variants areannotatedClassanddatabase.- Returns:
- calendar's source
- See Also:
-
isBusinessDay
Checks if provided date belongs to business days.- Parameters:
date- date to be checked.- Returns:
- true if this date is business day.
-
plus
Returns a copy of provided date with the specified amount of business days added.- 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
Returns a copy of provided date with the specified amount of business days subtracted.- 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.
-
isBusinessTime
Checks if provided date-time belongs to business time.- Parameters:
dateTime- source date-time.- Returns:
- true if provided date-time is business time.
-
plus
Returns a copy of provided date-time with the specified amount of business hours added.- 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
Returns a copy of provided date-time with the specified amount of business hours subtracted.- 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
Returns a copy of provided date-time with the specified duration in terms of working time added.Extra caution is needed when
durationis 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.- 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
Returns a copy of provided date-time with the specified duration in terms of working time subtracted.Extra caution is needed when
durationis 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.- 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
Returns a date-time of the next start of business interval relative to provided date-time: Always returns start-time of next interval.- Parameters:
dateTime- initial date-time.- Returns:
- LocalDateTime with start-time of next interval.
-
getBusinessIntervalStartBefore
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
- Parameters:
dateTime- initial date-time.- Returns:
- LocalDateTime with previous start-time.
-
getBusinessIntervalEndAfter
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
- Parameters:
dateTime- initial date-time.- Returns:
- LocalDateTime with next end-time.
-
getBusinessIntervalEndBefore
Returns a date-time of the previous end of business interval relative to provided date-time: Always returns end-time of previous interval.- Parameters:
dateTime- initial date-time.- Returns:
- LocalDateTime with end-time of previous interval.
-