diff options
Diffstat (limited to 'eaaf_core/src/main/java')
-rw-r--r-- | eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/utils/IJsonMapper.java | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/utils/IJsonMapper.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/utils/IJsonMapper.java index 10e6464b..6db5a6ae 100644 --- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/utils/IJsonMapper.java +++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/utils/IJsonMapper.java @@ -1,12 +1,12 @@ package at.gv.egiz.eaaf.core.api.utils; import java.io.IOException; +import java.io.InputStream; import at.gv.egiz.eaaf.core.exceptions.EAAFJsonMapperException; public interface IJsonMapper { - - + /** * Serialize an object to a JSON string. * @param value the object to serialize @@ -27,6 +27,16 @@ public interface IJsonMapper { */ <T> Object deserialize(String value, Class<T> clazz) throws EAAFJsonMapperException; - //<T> Object deserialize(String value, TypeReference<T> clazz) throws EAAFJsonMapperException; - + /** + * Deserialize a JSON string. + * + * @param is the JSON to deserialize as {@link InputStream} + * @param clazz optional parameter that determines the type of the returned object. If not set, an {@link Object} is returned. + * @return the deserialized JSON string as an object of type {@code clazz} or {@link Object} + * @throws JsonParseException if the JSON string contains invalid content. + * @throws JsonMappingException if the input JSON structure does not match structure expected for result type + * @throws IOException if an I/O problem occurs (e.g. unexpected end-of-input) + */ + <T> Object deserialize(InputStream is, Class<T> clazz) throws EAAFJsonMapperException; + }
\ No newline at end of file |