summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/esodata/SimpleDirectory.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/bjc/esodata/SimpleDirectory.java')
-rw-r--r--src/main/java/bjc/esodata/SimpleDirectory.java31
1 files changed, 14 insertions, 17 deletions
diff --git a/src/main/java/bjc/esodata/SimpleDirectory.java b/src/main/java/bjc/esodata/SimpleDirectory.java
index 672d92f..13a9f3e 100644
--- a/src/main/java/bjc/esodata/SimpleDirectory.java
+++ b/src/main/java/bjc/esodata/SimpleDirectory.java
@@ -1,7 +1,7 @@
package bjc.esodata;
import bjc.funcdata.FunctionalMap;
-import bjc.funcdata.IMap;
+import bjc.funcdata.MapEx;
/**
* Simple implementation of {@link Directory}.
@@ -18,9 +18,9 @@ import bjc.funcdata.IMap;
*/
public class SimpleDirectory<K, V> implements Directory<K, V> {
/* Our sub-directories. */
- private final IMap<K, Directory<K, V>> children;
+ private final MapEx<K, Directory<K, V>> children;
/* Our data. */
- private final IMap<K, V> data;
+ private final MapEx<K, V> data;
/** Create a new directory. */
public SimpleDirectory() {
@@ -30,7 +30,7 @@ public class SimpleDirectory<K, V> implements Directory<K, V> {
@Override
public Directory<K, V> getSubdirectory(final K key) {
- return children.get(key);
+ return children.get(key).orElse(null);
}
@Override
@@ -50,7 +50,7 @@ public class SimpleDirectory<K, V> implements Directory<K, V> {
@Override
public V getKey(final K key) {
- return data.get(key);
+ return data.get(key).orElse(null);
}
@Override
@@ -71,26 +71,23 @@ public class SimpleDirectory<K, V> implements Directory<K, V> {
@Override
public boolean equals(final Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (!(obj instanceof SimpleDirectory<?, ?>))
- return false;
+ if (this == obj) return true;
+ if (obj == null) return false;
+ if (!(obj instanceof SimpleDirectory<?, ?>)) return false;
final SimpleDirectory<?, ?> other = (SimpleDirectory<?, ?>) obj;
if (children == null) {
- if (other.children != null)
- return false;
- } else if (!children.equals(other.children))
+ if (other.children != null) return false;
+ } else if (!children.equals(other.children)) {
return false;
+ }
if (data == null) {
- if (other.data != null)
- return false;
- } else if (!data.equals(other.data))
+ if (other.data != null) return false;
+ } else if (!data.equals(other.data)) {
return false;
+ }
return true;
}