From 945004fdb7e4263ba7e68d1b4d120a9a9f64dfac Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Tue, 17 Nov 2020 17:49:16 -0500 Subject: Remove some unnecessary overrides IMap has some default methods that its various implementations were overriding when they didn't need to --- src/main/java/bjc/funcdata/ExtendedMap.java | 24 ---------------------- src/main/java/bjc/funcdata/FunctionalMap.java | 21 +------------------ src/main/java/bjc/funcdata/IMap.java | 2 ++ .../java/bjc/funcdata/TransformedValueMap.java | 19 +---------------- 4 files changed, 4 insertions(+), 62 deletions(-) (limited to 'src/main/java/bjc/funcdata') 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 @@ -59,20 +59,6 @@ class ExtendedMap implements IMap { delegate.forEach(action); } - @Override - public void forEachKey(final Consumer action) { - store.forEachKey(action); - - delegate.forEachKey(action); - } - - @Override - public void forEachValue(final Consumer action) { - store.forEachValue(action); - - delegate.forEachValue(action); - } - @Override public ValueType get(final KeyType key) { if (store.containsKey(key)) return store.get(key); @@ -111,16 +97,6 @@ class ExtendedMap implements IMap { else return store.remove(key); } - @Override - public IList valueList() { - IList ilst = new FunctionalList<>(); - - ilst.addAll(store.valueList()); - ilst.addAll(delegate.valueList()); - - return ilst; - } - @Override public int hashCode() { // isFrozen isn't counted 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 @@ -72,16 +72,6 @@ public class FunctionalMap implements IMap action) { - wrappedMap.keySet().forEach(action); - } - - @Override - public void forEachValue(final Consumer 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 implements IMap valueList() { - final FunctionalList 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 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 @@ -61,18 +61,6 @@ final class TransformedValueMap }); } - @Override - public void forEachKey(final Consumer action) { - backing.forEachKey(action); - } - - @Override - public void forEachValue(final Consumer 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 public String toString() { return backing.toString(); } - - @Override - public IList valueList() { - return backing.valueList().map(transformer); - } - + @Override public boolean freeze() { isFrozen = true; -- cgit v1.2.3