/** as {@link #walk(String...))} but if any element is not found it simply returns null */ public static Function<JsonElement, JsonElement> walkN(final String... elements) { return walkN(Arrays.asList(elements)); }
/** as {@link #walk(String)} but if any element is not found it simply returns null */ public static Function<JsonElement, JsonElement> walkN(@Nullable String elements) { return walkN( Splitter.on('.').split(elements) ); }
@Test public void testWalkNWrong1() { JsonElement m = JsonFunctions.walkN("europe", "spain", "barcelona").apply( europeMap() ); Assert.assertNull(m); }
@Test public void testWalkN() { JsonElement pop = JsonFunctions.walkN("europe", "france", "population").apply( europeMap() ); Assert.assertEquals( (int)JsonFunctions.cast(Integer.class).apply(pop), 80*1000*1000 ); }
public void testWalkNWrong2() { JsonElement m = JsonFunctions.walkN("europe", "spain", "barcelona").apply( europeMap() ); String n = JsonFunctions.cast(String.class).apply(m); Assert.assertNull(n); }