util: LinkedHashMapRemoveEldest refactored

This commit is contained in:
Sergey Matvienko 2021-05-18 14:28:59 +03:00 committed by Andrew Shvayka
parent 3d3aae60d8
commit 57b0e19ec8
2 changed files with 8 additions and 6 deletions

View File

@ -50,11 +50,11 @@ import java.util.function.BiConsumer;
@EqualsAndHashCode(callSuper = true)
public class LinkedHashMapRemoveEldest<K, V> extends LinkedHashMap<K, V> {
final long maxEntries;
final BiConsumer<K, V> removeConsumer;
final BiConsumer<K, V> removalConsumer;
public LinkedHashMapRemoveEldest(long maxEntries, BiConsumer<K, V> removeConsumer) {
public LinkedHashMapRemoveEldest(long maxEntries, BiConsumer<K, V> removalConsumer) {
this.maxEntries = maxEntries;
this.removeConsumer = removeConsumer;
this.removalConsumer = removalConsumer;
}
@Override
@ -62,7 +62,7 @@ public class LinkedHashMapRemoveEldest<K, V> extends LinkedHashMap<K, V> {
if (size() <= maxEntries) {
return false;
}
removeConsumer.accept(eldest.getKey(), eldest.getValue());
removalConsumer.accept(eldest.getKey(), eldest.getValue());
return true;
}
}

View File

@ -37,6 +37,7 @@ import java.util.LinkedHashMap;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.hamcrest.MatcherAssert.assertThat;
public class LinkedHashMapRemoveEldestTest {
@ -44,7 +45,7 @@ public class LinkedHashMapRemoveEldestTest {
public static final long MAX_ENTRIES = 10L;
long removeCount = 0;
void removeConsumer(Long id, String name) {
void removalConsumer(Long id, String name) {
removeCount++;
assertThat(id, is(Matchers.lessThan(MAX_ENTRIES)));
assertThat(name, is(id.toString()));
@ -54,9 +55,10 @@ public class LinkedHashMapRemoveEldestTest {
public void givenMap_whenOverSized_thenVerifyRemovedEldest() {
//given
LinkedHashMapRemoveEldest<Long, String> map =
new LinkedHashMapRemoveEldest<>(MAX_ENTRIES, this::removeConsumer);
new LinkedHashMapRemoveEldest<>(MAX_ENTRIES, this::removalConsumer);
assertThat(map.getMaxEntries(), is(MAX_ENTRIES));
assertThat(map.getRemovalConsumer(), notNullValue());
assertThat(map, instanceOf(LinkedHashMap.class));
assertThat(map, instanceOf(LinkedHashMapRemoveEldest.class));
assertThat(map.size(), is(0));