From 86ad50b4df6166c6f99b08d91d49fe59ee754619 Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Sat, 21 Nov 2020 22:53:56 -0500 Subject: Change IMap to use Optional, not exceptions IMap now returns optionals, instead of throwing an exception --- src/main/java/bjc/funcdata/FunctionalMap.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'src/main/java/bjc/funcdata/FunctionalMap.java') 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 implements IMap 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 implements IMap