@Override public Entry<K, V> lowerEntry(K key) { return unmodifiableOrNull(delegate.lowerEntry(key)); }
@Override public Entry<K, V> lowerEntry(K key) { return unmodifiableOrNull(delegate.lowerEntry(key)); }
@Override public Entry<K, V> lowerEntry(K key) { synchronized (mutex) { return nullableSynchronizedEntry(delegate().lowerEntry(key), mutex); } }
@Override public Entry<K, V> lowerEntry(K key) { return delegate().lowerEntry(key); }
@Override public Entry<K, V> lowerEntry(K key) { return delegate.lowerEntry(checkValid(key)); }
@Override public Entry<K, V> higherEntry(K key) { return forward().lowerEntry(key); }
@Override public Entry<K, V> lowerEntry(K key) { synchronized (mutex) { return nullableSynchronizedEntry(delegate().lowerEntry(key), mutex); } }
@Override public Entry<K, V> lowerEntry(K key) { return delegate().lowerEntry(key); }
@Override public Entry<K, V> higherEntry(K key) { return forward().lowerEntry(key); }
@Override public Range<C> get(@Nullable Object key) { if (key instanceof Cut) { try { @SuppressWarnings("unchecked") // we catch CCEs Cut<C> cut = (Cut<C>) key; if (!upperBoundWindow.contains(cut)) { return null; } Entry<Cut<C>, Range<C>> candidate = rangesByLowerBound.lowerEntry(cut); if (candidate != null && candidate.getValue().upperBound.equals(cut)) { return candidate.getValue(); } } catch (ClassCastException e) { return null; } } return null; }
@Override public Entry<K, V2> lowerEntry(K key) { return transformEntry(fromMap().lowerEntry(key)); }
@CollectionSize.Require(SEVERAL) public void testLower() { resetWithHole(); assertEquals(null, navigableMap.lowerEntry(a.getKey())); assertEquals(null, navigableMap.lowerKey(a.getKey())); assertEquals(a, navigableMap.lowerEntry(b.getKey())); assertEquals(a.getKey(), navigableMap.lowerKey(b.getKey())); assertEquals(a, navigableMap.lowerEntry(c.getKey())); assertEquals(a.getKey(), navigableMap.lowerKey(c.getKey())); }
@Override public boolean intersects(Range<C> range) { checkNotNull(range); Entry<Cut<C>, Range<C>> ceilingEntry = rangesByLowerBound.ceilingEntry(range.lowerBound); if (ceilingEntry != null && ceilingEntry.getValue().isConnected(range) && !ceilingEntry.getValue().intersection(range).isEmpty()) { return true; } Entry<Cut<C>, Range<C>> priorEntry = rangesByLowerBound.lowerEntry(range.lowerBound); return priorEntry != null && priorEntry.getValue().isConnected(range) && !priorEntry.getValue().intersection(range).isEmpty(); }
@Override public Entry<K, V> lowerEntry(K key) { assertTrue(Thread.holdsLock(mutex)); return delegate().lowerEntry(key); }
@Override public Entry<K, V2> lowerEntry(K key) { return transformEntry(fromMap().lowerEntry(key)); }
/** Computes the coalesced range for the given range+value - does not mutate the map. */ private Range<K> coalescedRange(Range<K> range, V value) { Range<K> coalescedRange = range; Entry<Cut<K>, RangeMapEntry<K, V>> lowerEntry = entriesByLowerBound.lowerEntry(range.lowerBound); coalescedRange = coalesce(coalescedRange, value, lowerEntry); Entry<Cut<K>, RangeMapEntry<K, V>> higherEntry = entriesByLowerBound.floorEntry(range.upperBound); coalescedRange = coalesce(coalescedRange, value, higherEntry); return coalescedRange; }
public void testLowerEntry() { create().lowerEntry("a"); }
/** Computes the coalesced range for the given range+value - does not mutate the map. */ private Range<K> coalescedRange(Range<K> range, V value) { Range<K> coalescedRange = range; Entry<Cut<K>, RangeMapEntry<K, V>> lowerEntry = entriesByLowerBound.lowerEntry(range.lowerBound); coalescedRange = coalesce(coalescedRange, value, lowerEntry); Entry<Cut<K>, RangeMapEntry<K, V>> higherEntry = entriesByLowerBound.floorEntry(range.upperBound); coalescedRange = coalesce(coalescedRange, value, higherEntry); return coalescedRange; }
@CollectionSize.Require(ONE) public void testSingletonMapNearby() { assertNull(navigableMap.lowerEntry(k0())); assertNull(navigableMap.lowerKey(k0())); assertEquals(a, navigableMap.floorEntry(k0())); assertEquals(a.getKey(), navigableMap.floorKey(k0())); assertEquals(a, navigableMap.ceilingEntry(k0())); assertEquals(a.getKey(), navigableMap.ceilingKey(k0())); assertNull(navigableMap.higherEntry(k0())); assertNull(navigableMap.higherKey(k0())); }
@CollectionSize.Require(ZERO) public void testEmptyMapNearby() { assertNull(navigableMap.lowerEntry(k0())); assertNull(navigableMap.lowerKey(k0())); assertNull(navigableMap.floorEntry(k0())); assertNull(navigableMap.floorKey(k0())); assertNull(navigableMap.ceilingEntry(k0())); assertNull(navigableMap.ceilingKey(k0())); assertNull(navigableMap.higherEntry(k0())); assertNull(navigableMap.higherKey(k0())); }