@Test public void getOrDefault() { Map<String, Object> map = make("{}"); resolver.getOrDefault(map, "a", "b"); assertTrue(map.containsKey("a")); assertEquals(map.get("a"), "b"); }
<V> V getOrDefault(Map<String, Object> map, String key, V defaultValue){ if(map.containsKey(key) && map.get(key).getClass().isAssignableFrom(defaultValue.getClass())) return (V) map.get(key); else { map.put(key, defaultValue); return defaultValue; } }
ArgumentResolver { <V> V getOrDefault(Map<String, Object> map, String key, V defaultValue){ if(map.containsKey(key) && map.get(key).getClass().isAssignableFrom(defaultValue.getClass())) return (V) map.get(key); else { map.put(key, defaultValue); return defaultValue; } } }
ArgumentResolver { <V> V getOrDefault(Map<String, Object> map, String key, V defaultValue){ if(map.containsKey(key) && map.get(key).getClass().isAssignableFrom(defaultValue.getClass())) return (V) map.get(key); else { map.put(key, defaultValue); return defaultValue; } } ArgumentResolver(Context context); }
ArgumentResolver { <V> V getOrDefault(Map<String, Object> map, String key, V defaultValue){ if(map.containsKey(key) && map.get(key).getClass().isAssignableFrom(defaultValue.getClass())) return (V) map.get(key); else { map.put(key, defaultValue); return defaultValue; } } ArgumentResolver(Context context); Reminder resolve(Map<String, Object> map, String rawText, Calendar now); }
ArgumentResolver { <V> V getOrDefault(Map<String, Object> map, String key, V defaultValue){ if(map.containsKey(key) && map.get(key).getClass().isAssignableFrom(defaultValue.getClass())) return (V) map.get(key); else { map.put(key, defaultValue); return defaultValue; } } ArgumentResolver(Context context); Reminder resolve(Map<String, Object> map, String rawText, Calendar now);  }