private void putRangeMapEntry(Cut<K> lowerBound, Cut<K> upperBound, V value) { entriesByLowerBound.put(lowerBound, new RangeMapEntry<K, V>(lowerBound, upperBound, value)); }
@Override @NullableDecl public Entry<Range<K>, V> getEntry(K key) { Entry<Cut<K>, RangeMapEntry<K, V>> mapEntry = entriesByLowerBound.floorEntry(Cut.belowValue(key)); if (mapEntry != null && mapEntry.getValue().contains(key)) { return mapEntry.getValue(); } else { return null; } }
@Override public Range<K> span() { Entry<Cut<K>, RangeMapEntry<K, V>> firstEntry = entriesByLowerBound.firstEntry(); Entry<Cut<K>, RangeMapEntry<K, V>> lastEntry = entriesByLowerBound.lastEntry(); if (firstEntry == null) { throw new NoSuchElementException(); } return Range.create( firstEntry.getValue().getKey().lowerBound, lastEntry.getValue().getKey().upperBound); }
if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.lowerBound) > 0) { if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { rangeMapEntry.getUpperBound(), mapEntryBelowToTruncate.getValue().getValue()); rangeMapEntry.getLowerBound(), rangeToRemove.lowerBound, mapEntryBelowToTruncate.getValue().getValue()); if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { rangeMapEntry.getUpperBound(), mapEntryAboveToTruncate.getValue().getValue()); entriesByLowerBound.remove(rangeToRemove.lowerBound);
if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.lowerBound) > 0) { if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { rangeMapEntry.getUpperBound(), mapEntryBelowToTruncate.getValue().getValue()); rangeMapEntry.getLowerBound(), rangeToRemove.lowerBound, mapEntryBelowToTruncate.getValue().getValue()); if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { rangeMapEntry.getUpperBound(), mapEntryAboveToTruncate.getValue().getValue());
if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.lowerBound) > 0) { if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { rangeMapEntry.getUpperBound(), mapEntryBelowToTruncate.getValue().getValue()); rangeMapEntry.getLowerBound(), rangeToRemove.lowerBound, mapEntryBelowToTruncate.getValue().getValue()); if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { rangeMapEntry.getUpperBound(), mapEntryAboveToTruncate.getValue().getValue());
if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.lowerBound) > 0) { if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { putRangeMapEntry(rangeToRemove.upperBound, rangeMapEntry.getUpperBound(), mapEntryBelowToTruncate.getValue().getValue()); putRangeMapEntry(rangeMapEntry.getLowerBound(), rangeToRemove.lowerBound, mapEntryBelowToTruncate.getValue().getValue()); if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { putRangeMapEntry(rangeToRemove.upperBound, rangeMapEntry.getUpperBound(), mapEntryAboveToTruncate.getValue().getValue()); entriesByLowerBound.remove(rangeToRemove.lowerBound);
if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.lowerBound) > 0) { if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { putRangeMapEntry(rangeToRemove.upperBound, rangeMapEntry.getUpperBound(), mapEntryBelowToTruncate.getValue().getValue()); putRangeMapEntry(rangeMapEntry.getLowerBound(), rangeToRemove.lowerBound, mapEntryBelowToTruncate.getValue().getValue()); if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { putRangeMapEntry(rangeToRemove.upperBound, rangeMapEntry.getUpperBound(), mapEntryAboveToTruncate.getValue().getValue()); entriesByLowerBound.remove(rangeToRemove.lowerBound);
if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.lowerBound) > 0) { if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { putRangeMapEntry(rangeToRemove.upperBound, rangeMapEntry.getUpperBound(), mapEntryBelowToTruncate.getValue().getValue()); putRangeMapEntry(rangeMapEntry.getLowerBound(), rangeToRemove.lowerBound, mapEntryBelowToTruncate.getValue().getValue()); if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { putRangeMapEntry(rangeToRemove.upperBound, rangeMapEntry.getUpperBound(), mapEntryAboveToTruncate.getValue().getValue()); entriesByLowerBound.remove(rangeToRemove.lowerBound);
if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.lowerBound) > 0) { if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { putRangeMapEntry(rangeToRemove.upperBound, rangeMapEntry.getUpperBound(), mapEntryBelowToTruncate.getValue().getValue()); putRangeMapEntry(rangeMapEntry.getLowerBound(), rangeToRemove.lowerBound, mapEntryBelowToTruncate.getValue().getValue()); if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { putRangeMapEntry(rangeToRemove.upperBound, rangeMapEntry.getUpperBound(), mapEntryAboveToTruncate.getValue().getValue()); entriesByLowerBound.remove(rangeToRemove.lowerBound);
if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.lowerBound) > 0) { if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { putRangeMapEntry(rangeToRemove.upperBound, rangeMapEntry.getUpperBound(), mapEntryBelowToTruncate.getValue().getValue()); putRangeMapEntry(rangeMapEntry.getLowerBound(), rangeToRemove.lowerBound, mapEntryBelowToTruncate.getValue().getValue()); if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { putRangeMapEntry(rangeToRemove.upperBound, rangeMapEntry.getUpperBound(), mapEntryAboveToTruncate.getValue().getValue()); entriesByLowerBound.remove(rangeToRemove.lowerBound);
if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.lowerBound) > 0) { if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { putRangeMapEntry(rangeToRemove.upperBound, rangeMapEntry.getUpperBound(), mapEntryBelowToTruncate.getValue().getValue()); putRangeMapEntry(rangeMapEntry.getLowerBound(), rangeToRemove.lowerBound, mapEntryBelowToTruncate.getValue().getValue()); if (rangeMapEntry.getUpperBound().compareTo(rangeToRemove.upperBound) > 0) { putRangeMapEntry(rangeToRemove.upperBound, rangeMapEntry.getUpperBound(), mapEntryAboveToTruncate.getValue().getValue()); entriesByLowerBound.remove(rangeToRemove.lowerBound);
private void putRangeMapEntry(Cut<K> lowerBound, Cut<K> upperBound, V value) { entriesByLowerBound.put(lowerBound, new RangeMapEntry<K, V>(lowerBound, upperBound, value)); }
private void putRangeMapEntry(Cut<K> lowerBound, Cut<K> upperBound, V value) { entriesByLowerBound.put(lowerBound, new RangeMapEntry<K, V>(lowerBound, upperBound, value)); }
private void putRangeMapEntry(Cut<K> lowerBound, Cut<K> upperBound, V value) { entriesByLowerBound.put(lowerBound, new RangeMapEntry<K, V>(lowerBound, upperBound, value)); }
private void putRangeMapEntry(Cut<K> lowerBound, Cut<K> upperBound, V value) { entriesByLowerBound.put(lowerBound, new RangeMapEntry<K, V>(lowerBound, upperBound, value)); }
private void putRangeMapEntry(Cut<K> lowerBound, Cut<K> upperBound, V value) { entriesByLowerBound.put(lowerBound, new RangeMapEntry<K, V>(lowerBound, upperBound, value)); }
private void putRangeMapEntry(Cut<K> lowerBound, Cut<K> upperBound, V value) { entriesByLowerBound.put(lowerBound, new RangeMapEntry<K, V>(lowerBound, upperBound, value)); }
private void putRangeMapEntry(Cut<K> lowerBound, Cut<K> upperBound, V value) { entriesByLowerBound.put(lowerBound, new RangeMapEntry<K, V>(lowerBound, upperBound, value)); }
private void putRangeMapEntry(Cut<K> lowerBound, Cut<K> upperBound, V value) { entriesByLowerBound.put(lowerBound, new RangeMapEntry<K, V>(lowerBound, upperBound, value)); }