private void copyOldRangesFromPreviousMap( RangeAndValue latestRangeAndValue, @Output ImmutableRangeMap.Builder<Long, T> builder) { timestampMappings() .stream() .filter(rangeAndValue -> !rangeAndValue.equals(latestRangeAndValue)) .forEach(rangeAndValue -> builder.put(rangeAndValue.longRange(), rangeAndValue.value())); }
@Value.Lazy RangeMap<Long, T> rangeMapView() { ImmutableRangeMap.Builder<Long, T> builder = new ImmutableRangeMap.Builder<>(); timestampMappings() .forEach(rangeAndValue -> builder.put(rangeAndValue.longRange(), rangeAndValue.value())); return builder.build(); }
private void copyOldRangesFromPreviousMap( RangeAndValue latestRangeAndValue, @Output ImmutableRangeMap.Builder<Long, T> builder) { timestampMappings() .stream() .filter(rangeAndValue -> !rangeAndValue.equals(latestRangeAndValue)) .forEach(rangeAndValue -> builder.put(rangeAndValue.longRange(), rangeAndValue.value())); }
private void addNewRanges( long lowerBoundForNewVersion, T newValue, RangeAndValue<T> latestRangeAndValue, @Output ImmutableRangeMap.Builder<Long, T> builder) { builder.put(Range.closedOpen(latestRangeAndValue.longRange().lowerEndpoint(), lowerBoundForNewVersion), latestRangeAndValue.value()); builder.put(Range.atLeast(lowerBoundForNewVersion), newValue); }
@Value.Lazy RangeMap<Long, T> rangeMapView() { ImmutableRangeMap.Builder<Long, T> builder = new ImmutableRangeMap.Builder<>(); timestampMappings() .forEach(rangeAndValue -> builder.put(rangeAndValue.longRange(), rangeAndValue.value())); return builder.build(); }
private void addNewRanges( long lowerBoundForNewVersion, T newValue, RangeAndValue<T> latestRangeAndValue, @Output ImmutableRangeMap.Builder<Long, T> builder) { builder.put(Range.closedOpen(latestRangeAndValue.longRange().lowerEndpoint(), lowerBoundForNewVersion), latestRangeAndValue.value()); builder.put(Range.atLeast(lowerBoundForNewVersion), newValue); }