
com.amihaiemil.eoyaml.JsonYamlMapping Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of eo-yaml Show documentation
Show all versions of eo-yaml Show documentation
YAML for Java 8 and above. Very similar to the JSON-P api.
package com.amihaiemil.eoyaml;
import javax.json.JsonObject;
import javax.json.JsonValue;
import java.util.LinkedHashSet;
import java.util.Set;
/**
* Representation of a {@link javax.json.JsonObject} as YAML Mapping.
* @author criske
* @version $Id: 7cfff4571a86d56402f6eb54e8e132026aaddf4e $
* @since 5.1.7
*/
final class JsonYamlMapping extends BaseYamlMapping {
/**
* Json object being mapped.
*/
private final JsonObject object;
/**
* Ctor.
* @param object Json object being mapped.
*/
JsonYamlMapping(final JsonObject object) {
this.object = object;
}
@Override
public Set keys() {
final Set keys = new LinkedHashSet<>();
this.object.keySet().forEach(key -> keys
.add(new PlainStringScalar(key)));
return keys;
}
@Override
public YamlNode value(final YamlNode key) {
final JsonValue jsonValue = this.object.get(key.asScalar().value());
return new JsonYamlDump(jsonValue).dump();
}
@Override
public Comment comment() {
return new Comment() {
@Override
public YamlNode yamlNode() {
return JsonYamlMapping.this;
}
@Override
public String value() {
return "";
}
};
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy