public Optional<String> maybeGetString(int index) { return maybeGet(index).map(e -> e.asString()); }
default Optional<String> maybeGetString(String...labels) { return maybeGet(labels).map(e -> e.asString()); }
public @Nonnull Stream<String> streamStrings() { return stream().map(e -> e.asString()); }
default Optional<String> maybeGetString(String...labels) { return getJsonObject().maybeGet(labels).map(e -> e.asString()); }
/** * Get a value at a particular path in an object structure. * * @param labels * one or more text labels * @return value or null if it doesn't exist at the specified path */ default String getString(final String... labels) { JsonElement jsonElement = get(labels); if (jsonElement == null || jsonElement.isNull()) { return null; } else { return jsonElement.asString(); } }
public void shouldConcatenate() { String hocon="path : [ \"/bin\" ]\n" + "path : ${path} [ \"/usr/bin\" ]"; JsonObject parsed = parser.parseObject(hocon); assertThat(parsed.getArray("path").get(0).asString()).isEqualTo("/bin"); assertThat(parsed.getArray("path").get(1).asString()).isEqualTo("/usr/bin"); }
public void shouldConcatenateShortHand() { String hocon="path : [ \"/bin\" ]\n" + "path += \"/usr/bin\""; JsonObject parsed = parser.parseObject(hocon); assertThat(parsed.getArray("path").get(0).asString()).isEqualTo("/bin"); assertThat(parsed.getArray("path").get(1).asString()).isEqualTo("/usr/bin"); }
public void shouldParseStringWhenNeeded() { JsonElement e = new JsonPrimitive("42"); // a string assertThat(e.asInt()).isEqualTo(42); assertThat(e.asFloat()).isEqualTo(42.0f); assertThat(e.asString()).isEqualTo("42"); assertThat(e.asNumber().toString()).isEqualTo("42"); } }
/** * @param field * name of the field * @param defaultValue * default value that is returned if the field has no value * @return value of the field as a boolean */ default boolean get(@Nonnull String field, boolean defaultValue) { JsonElement e = get(field); if (e == null) { return defaultValue; } else { if (e.isBoolean()) { return e.asBoolean(); } else if (e.isNumber()) { return e.asInt() > 0; } else if (e.isPrimitive()) { return Boolean.valueOf(e.asString()); } else { throw new JsonTypeMismatchException("expected primitive value but was " + e.type()); } } }
public void shouldAddFields() { JsonObject object = object(field("meaningoflife", 42), field("foo", primitive("bar")), field("list",array("stuff"))); assertThat(object.getInt("meaningoflife"), is(42)); assertThat(object.getString("foo"), is("bar")); assertThat(object.getArray("list").get(0).asString(), is("stuff")); }
/** * Get a value at a particular path in an object structure. * * @param labels * one or more text labels * @return value or null if it doesn't exist at the specified path */ default Boolean getBoolean(final String... labels) { JsonElement jsonElement = get(labels); if (jsonElement == null || jsonElement.isNull()) { return null; } else { if (jsonElement.isBoolean()) { return jsonElement.asBoolean(); } else if (jsonElement.isNumber()) { return jsonElement.asInt() > 0; } else if (jsonElement.isPrimitive()) { return Boolean.valueOf(jsonElement.asString()); } else { throw new JsonTypeMismatchException("expected primitive value but was " + jsonElement.type()); } } }
break; case string: yaml.writeString(e.asString()); break; case bool: