diff options
| author | Ben Culkin <scorpress@gmail.com> | 2020-11-17 17:49:16 -0500 |
|---|---|---|
| committer | Ben Culkin <scorpress@gmail.com> | 2020-11-17 17:49:16 -0500 |
| commit | 945004fdb7e4263ba7e68d1b4d120a9a9f64dfac (patch) | |
| tree | 1816d2e0a76ddff16f29ed933e33beb97e01a0ce | |
| parent | 213171f95845ebc5efcfa73d1cab4b723ff2abf2 (diff) | |
Remove some unnecessary overrides
IMap has some default methods that its various implementations were
overriding when they didn't need to
| -rw-r--r-- | src/main/java/bjc/esodata/PushdownMap.java | 15 | ||||
| -rw-r--r-- | src/main/java/bjc/funcdata/ExtendedMap.java | 24 | ||||
| -rw-r--r-- | src/main/java/bjc/funcdata/FunctionalMap.java | 21 | ||||
| -rw-r--r-- | src/main/java/bjc/funcdata/IMap.java | 2 | ||||
| -rw-r--r-- | src/main/java/bjc/funcdata/TransformedValueMap.java | 19 |
5 files changed, 4 insertions, 77 deletions
diff --git a/src/main/java/bjc/esodata/PushdownMap.java b/src/main/java/bjc/esodata/PushdownMap.java index 456d33b..a30161c 100644 --- a/src/main/java/bjc/esodata/PushdownMap.java +++ b/src/main/java/bjc/esodata/PushdownMap.java @@ -48,16 +48,6 @@ public class PushdownMap<KeyType, ValueType> implements IMap<KeyType, ValueType> } @Override - public void forEachKey(final Consumer<KeyType> action) { - backing.forEachKey(action); - } - - @Override - public void forEachValue(final Consumer<ValueType> action) { - backing.forEachValue(stk -> action.accept(stk.top())); - } - - @Override public ValueType get(final KeyType key) { return backing.get(key).top(); } @@ -105,11 +95,6 @@ public class PushdownMap<KeyType, ValueType> implements IMap<KeyType, ValueType> } @Override - public IList<ValueType> valueList() { - return backing.valueList().map(Stack::top); - } - - @Override public int hashCode() { final int prime = 31; diff --git a/src/main/java/bjc/funcdata/ExtendedMap.java b/src/main/java/bjc/funcdata/ExtendedMap.java index 19e3b4e..059181f 100644 --- a/src/main/java/bjc/funcdata/ExtendedMap.java +++ b/src/main/java/bjc/funcdata/ExtendedMap.java @@ -60,20 +60,6 @@ class ExtendedMap<KeyType, ValueType> implements IMap<KeyType, ValueType> { } @Override - public void forEachKey(final Consumer<KeyType> action) { - store.forEachKey(action); - - delegate.forEachKey(action); - } - - @Override - public void forEachValue(final Consumer<ValueType> action) { - store.forEachValue(action); - - delegate.forEachValue(action); - } - - @Override public ValueType get(final KeyType key) { if (store.containsKey(key)) return store.get(key); else return delegate.get(key); @@ -112,16 +98,6 @@ class ExtendedMap<KeyType, ValueType> implements IMap<KeyType, ValueType> { } @Override - public IList<ValueType> valueList() { - IList<ValueType> ilst = new FunctionalList<>(); - - ilst.addAll(store.valueList()); - ilst.addAll(delegate.valueList()); - - return ilst; - } - - @Override public int hashCode() { // isFrozen isn't counted return Objects.hash(delegate, store); diff --git a/src/main/java/bjc/funcdata/FunctionalMap.java b/src/main/java/bjc/funcdata/FunctionalMap.java index c088ff3..9836c98 100644 --- a/src/main/java/bjc/funcdata/FunctionalMap.java +++ b/src/main/java/bjc/funcdata/FunctionalMap.java @@ -73,16 +73,6 @@ public class FunctionalMap<KeyType, ValueType> implements IMap<KeyType, ValueTyp } @Override - public void forEachKey(final Consumer<KeyType> action) { - wrappedMap.keySet().forEach(action); - } - - @Override - public void forEachValue(final Consumer<ValueType> action) { - wrappedMap.values().forEach(action); - } - - @Override public ValueType get(final KeyType key) { if (key == null) throw new NullPointerException("Key must not be null"); @@ -128,16 +118,7 @@ public class FunctionalMap<KeyType, ValueType> implements IMap<KeyType, ValueTyp public String toString() { return wrappedMap.toString(); } - - @Override - public IList<ValueType> valueList() { - final FunctionalList<ValueType> values = new FunctionalList<>(); - - wrappedMap.values().forEach(values::add); - - return values; - } - + @Override public int hashCode() { final int prime = 31; diff --git a/src/main/java/bjc/funcdata/IMap.java b/src/main/java/bjc/funcdata/IMap.java index e723507..4906541 100644 --- a/src/main/java/bjc/funcdata/IMap.java +++ b/src/main/java/bjc/funcdata/IMap.java @@ -107,6 +107,8 @@ public interface IMap<KeyType, ValueType> extends IFreezable { /** Delete all the values in the map. */ default void clear() { + if (isFrozen()) throw new ObjectFrozen("Can't clear a frozen map"); + keyList().forEach(IMap.this::remove); } diff --git a/src/main/java/bjc/funcdata/TransformedValueMap.java b/src/main/java/bjc/funcdata/TransformedValueMap.java index e51c9eb..cf4a9d8 100644 --- a/src/main/java/bjc/funcdata/TransformedValueMap.java +++ b/src/main/java/bjc/funcdata/TransformedValueMap.java @@ -62,18 +62,6 @@ final class TransformedValueMap<OldKey, OldValue, NewValue> } @Override - public void forEachKey(final Consumer<OldKey> action) { - backing.forEachKey(action); - } - - @Override - public void forEachValue(final Consumer<NewValue> action) { - backing.forEachValue(value -> { - action.accept(transformer.apply(value)); - }); - } - - @Override public NewValue get(final OldKey key) { return transformer.apply(backing.get(key)); } @@ -104,12 +92,7 @@ final class TransformedValueMap<OldKey, OldValue, NewValue> public String toString() { return backing.toString(); } - - @Override - public IList<NewValue> valueList() { - return backing.valueList().map(transformer); - } - + @Override public boolean freeze() { isFrozen = true; |
