Class ScheduleConflict
Membership is transitive, and that is a decision, not an accident. A group holds every event connected to another by an overlap, even when two of its members do not themselves overlap: A 09:00 - 11:00, B 10:00 - 12:00 and C 11:30 - 12:30 are one group of three, not two pairs. A person untangling a morning untangles the whole tangle at once, and splitting it into pairs would report the same event twice and invite a caller to renumber and dedupe — the very work this exists to remove.
getStart() and getEnd() are the envelope of the
group, not a common busy interval. For a pair they are the same
thing; for the transitive chain above the envelope is 09:00 - 12:30 while no
instant is inside all three. A caller must present them as "the stretch of
the day this tangle covers", never as "the time you are triple-booked".
Two events merely touching — one ending exactly when the next begins — are
not a conflict and are never in a group together. See
AgendaScheduleConflictService for the
rule and for everything else that is deliberately left out of a group.
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
ScheduleConflict
public ScheduleConflict()
-