- All Superinterfaces:
Comparable<TimeSlot>
- All Known Subinterfaces:
Appointment
A time slot represents an (un)allocated range of time defined as
[start,end). The starting square bracket and the parenthesis at the end
of [start,end) mean that start is part of the slot, end belongs to the
following and is the start thereof. In mathematics such notation is called a
half open range.
The implementer should implement a proper to string showing start instant,
end instant and duration of this slot.
The time slots are comparable by length of the slot only!
If you keep the slots in a linked list there is no need to compare them
by start or end time, because the list will keep them in natural order.
The end should never be before start, however a TimeSlot with start and
end equal, such that it has an effective duration of
zero minutes, zero nanoseconds may have its use as for instance a sentinel
value.
- Author:
- Pieter van den Hombergh
p.vandenhombergh@fontys.nl
-
Method Summary
Modifier and TypeMethodDescriptiondefault int
Compare two time slots by length.default Duration
duration()
Get the duration of this slot.end()
Get the end of the TimeSlot.default LocalDate
Return the date of the end of the TimeSlot.default LocalTime
Get End Time of the appointment in the given time zone.default boolean
Does the given time slot fit inside this time slot.default boolean
Is this time slot sufficient to accommodate a specified duration.start()
Get the start of the TimeSlot.default LocalDate
Return the date of the start of the TimeSlot.default LocalTime
Get Start Time of the appointment in given time zone.
-
Method Details
-
start
Instant start()Get the start of the TimeSlot. The start time is included in the range.- Returns:
- the start time
-
end
Instant end()Get the end of the TimeSlot. The end time is NOT included in the range.- Returns:
- the end time
-
duration
Get the duration of this slot. The duration may be equal to "Duration.ZERO", typically used in sentinel values of TimeSlot.- Returns:
- the duration as Duration
-
compareTo
Compare two time slots by length.- Specified by:
compareTo
in interfaceComparable<TimeSlot>
- Parameters:
other
- TimeSlot to compare with this one.- Returns:
- comparison result, less than 0, 0 or greater 0.
-
fits
Is this time slot sufficient to accommodate a specified duration.- Parameters:
duration
- to test- Returns:
- true if start and end are sufficiently apart to fit the given duration.
-
fits
Does the given time slot fit inside this time slot.- Parameters:
other
- Timeslot to test- Returns:
- true if other does not start earlier nor ends earlier than this time slot.
-
endTime
Get End Time of the appointment in the given time zone.- Parameters:
day
- for the time- Returns:
- end Time.
-
startTime
Get Start Time of the appointment in given time zone.- Parameters:
day
- for the time- Returns:
- start Time
-
startDate
Return the date of the start of the TimeSlot.- Parameters:
day
- provides time zone- Returns:
- the date on which the TimeSlot starts.
-
endDate
Return the date of the end of the TimeSlot.- Parameters:
day
- provides time zone- Returns:
- the date on which the TimeSlot ends.
-