summaryrefslogtreecommitdiff
path: root/projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSKeyValueCodingAdditions.java
diff options
context:
space:
mode:
authorBenjamin Culkin <scorpress@gmail.com>2024-07-05 12:43:13 -0400
committerBenjamin Culkin <scorpress@gmail.com>2024-07-05 12:43:13 -0400
commit6d46c473d41c6c47e6b8bd8c676d925e544bd378 (patch)
tree796d51bfff52f8f3fa383b2d26847b7c8160677b /projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSKeyValueCodingAdditions.java
parent02bc52037e9ccccca672d6156d9c325c74fe28b3 (diff)
More cleanup
Diffstat (limited to 'projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSKeyValueCodingAdditions.java')
-rw-r--r--projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSKeyValueCodingAdditions.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSKeyValueCodingAdditions.java b/projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSKeyValueCodingAdditions.java
index 72c9fc8..a93fff9 100644
--- a/projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSKeyValueCodingAdditions.java
+++ b/projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/NSKeyValueCodingAdditions.java
@@ -49,13 +49,23 @@ public interface NSKeyValueCodingAdditions extends NSKeyValueCoding {
* Returns a Map of the specified keys to their values, each of which might be
* obtained by calling valueForKey.
*/
- NSDictionary<String, Object> valuesForKeys(List<String> aKeyList);
+ default NSDictionary<String, Object> valuesForKeys(List<String> aKeyList) {
+ NSDictionary<String, Object> ret = new NSMutableDictionary<>();
+
+ for (String key : aKeyList) {
+ ret.put(key, valueForKey(key));
+ }
+
+ return ret;
+ }
/**
* Takes the keys from the specified map as properties and applies the
* corresponding values, each of which might be set by calling takeValueForKey.
*/
- void takeValuesFromDictionary(Map<String, Object> aMap);
+ default void takeValuesFromDictionary(Map<String, Object> aMap) {
+ aMap.forEach((key, val) -> takeValueForKey(val, key));
+ }
/**
* Static utility methods that call the appropriate method if the object