public void merge(final GroupTime groupTime) { if (Objects.isNull(groupTime)) { return; } update(firstNonNull(getStart(), MAX_VALUE), groupTime.getStart(), Math::min, this::setStart); update(firstNonNull(getStop(), 0L), groupTime.getStop(), Math::max, this::setStop); update(getStop(), getStart(), (a, b) -> a - b, this::setDuration); update(firstNonNull(getMinDuration(), MAX_VALUE), groupTime.getMinDuration(), Math::min, this::setMinDuration); update(firstNonNull(getMaxDuration(), 0L), groupTime.getMaxDuration(), Math::max, this::setMaxDuration); update(firstNonNull(getSumDuration(), 0L), groupTime.getSumDuration(), (a, b) -> a + b, this::setSumDuration); }
public void update(final Time time) { if (Objects.isNull(time)) { return; } update(firstNonNull(getStart(), MAX_VALUE), time.getStart(), Math::min, this::setStart); update(firstNonNull(getStop(), 0L), time.getStop(), Math::max, this::setStop); update(getStop(), getStart(), (a, b) -> a - b, this::setDuration); update(firstNonNull(getMinDuration(), MAX_VALUE), time.getDuration(), Math::min, this::setMinDuration); update(firstNonNull(getMaxDuration(), 0L), time.getDuration(), Math::max, this::setMaxDuration); update(firstNonNull(getSumDuration(), 0L), time.getDuration(), (a, b) -> a + b, this::setSumDuration); }
public void merge(final GroupTime groupTime) { if (Objects.isNull(groupTime)) { return; } update(firstNonNull(getStart(), MAX_VALUE), groupTime.getStart(), Math::min, this::setStart); update(firstNonNull(getStop(), 0L), groupTime.getStop(), Math::max, this::setStop); update(getStop(), getStart(), (a, b) -> a - b, this::setDuration); update(firstNonNull(getMinDuration(), MAX_VALUE), groupTime.getMinDuration(), Math::min, this::setMinDuration); update(firstNonNull(getMaxDuration(), 0L), groupTime.getMaxDuration(), Math::max, this::setMaxDuration); update(firstNonNull(getSumDuration(), 0L), groupTime.getSumDuration(), (a, b) -> a + b, this::setSumDuration); }
public void update(final Time time) { if (Objects.isNull(time)) { return; } update(firstNonNull(getStart(), MAX_VALUE), time.getStart(), Math::min, this::setStart); update(firstNonNull(getStop(), 0L), time.getStop(), Math::max, this::setStop); update(getStop(), getStart(), (a, b) -> a - b, this::setDuration); update(firstNonNull(getMinDuration(), MAX_VALUE), time.getDuration(), Math::min, this::setMinDuration); update(firstNonNull(getMaxDuration(), 0L), time.getDuration(), Math::max, this::setMaxDuration); update(firstNonNull(getSumDuration(), 0L), time.getDuration(), (a, b) -> a + b, this::setSumDuration); }