diff options
| author | Ben Culkin <scorpress@gmail.com> | 2020-11-21 22:53:56 -0500 |
|---|---|---|
| committer | Ben Culkin <scorpress@gmail.com> | 2020-11-21 22:53:56 -0500 |
| commit | 86ad50b4df6166c6f99b08d91d49fe59ee754619 (patch) | |
| tree | 75465a1fa0a99b9c83026953b6a2ed0d736c0a93 /src/main/java/bjc/funcdata/FunctionalMap.java | |
| parent | c3954bbe63378324762a6cdd5caf363405340973 (diff) | |
Change IMap to use Optional, not exceptions
IMap now returns optionals, instead of throwing an exception
Diffstat (limited to 'src/main/java/bjc/funcdata/FunctionalMap.java')
| -rw-r--r-- | src/main/java/bjc/funcdata/FunctionalMap.java | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/main/java/bjc/funcdata/FunctionalMap.java b/src/main/java/bjc/funcdata/FunctionalMap.java index 9836c98..3ab2598 100644 --- a/src/main/java/bjc/funcdata/FunctionalMap.java +++ b/src/main/java/bjc/funcdata/FunctionalMap.java @@ -73,16 +73,14 @@ public class FunctionalMap<KeyType, ValueType> implements IMap<KeyType, ValueTyp } @Override - public ValueType get(final KeyType key) { + public Optional<ValueType> get(final KeyType key) { if (key == null) throw new NullPointerException("Key must not be null"); - if (!wrappedMap.containsKey(key)) { - final String msg = String.format("Key %s is not present in the map", key); - - throw new IllegalArgumentException(msg); + if (wrappedMap.containsKey(key)) { + return Optional.of(wrappedMap.get(key)); + } else { + return Optional.empty(); } - - return wrappedMap.get(key); } @Override @@ -138,8 +136,8 @@ public class FunctionalMap<KeyType, ValueType> implements IMap<KeyType, ValueTyp if (wrappedMap == null) { if (other.wrappedMap != null) return false; } else if (!wrappedMap.equals(other.wrappedMap)) { - return false; - } + return false; + } return true; } |
