package com.sequenceiq.periscope.model.json; import java.io.IOException; import java.util.Collections; import java.util.Map; import com.fasterxml.jackson.core.JsonProcessingException; import com.sequenceiq.cloudbreak.util.JsonUtil; public class Json { private String value; Json(String value) { this.value = value; } public Json(Object value) throws JsonProcessingException { this.value = JsonUtil.writeValueAsString(value); } public String getValue() { return value; } public <T> T get(Class<T> valueType) throws IOException { return JsonUtil.readValue(value, valueType); } public Map<String, Object> getMap() { try { if (value == null) { return Collections.emptyMap(); } return get(Map.class); } catch (IOException e) { return Collections.emptyMap(); } } }