summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/bjc/esodata/PushdownMap.java15
-rw-r--r--src/main/java/bjc/funcdata/ExtendedMap.java24
-rw-r--r--src/main/java/bjc/funcdata/FunctionalMap.java21
-rw-r--r--src/main/java/bjc/funcdata/IMap.java2
-rw-r--r--src/main/java/bjc/funcdata/TransformedValueMap.java19
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;