/** * Updates the phenomenon time envelope of the specified offering to include the specified event time. * * @param offering the offering * @param eventTime the time to include */ default void updatePhenomenonTimeForOffering(String offering, Time eventTime) { CacheValidation.notNullOrEmpty(OFFERING, offering); Objects.requireNonNull(eventTime, EVENT_TIME); final TimePeriod tp = toTimePeriod(eventTime); if (!hasMaxPhenomenonTimeForOffering(offering) || getMaxPhenomenonTimeForOffering(offering).isBefore(tp.getEnd())) { setMaxPhenomenonTimeForOffering(offering, tp.getEnd()); } if (!hasMinPhenomenonTimeForOffering(offering) || getMinPhenomenonTimeForOffering(offering).isAfter(tp.getStart())) { setMinPhenomenonTimeForOffering(offering, tp.getStart()); } }