diff options
Diffstat (limited to 'eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/utils/IJsonMapper.java')
-rw-r--r-- | eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/utils/IJsonMapper.java | 32 |
1 files changed, 32 insertions, 0 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 new file mode 100644 index 00000000..10e6464b --- /dev/null +++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/api/utils/IJsonMapper.java @@ -0,0 +1,32 @@ +package at.gv.egiz.eaaf.core.api.utils; + +import java.io.IOException; + +import at.gv.egiz.eaaf.core.exceptions.EAAFJsonMapperException; + +public interface IJsonMapper { + + + /** + * Serialize an object to a JSON string. + * @param value the object to serialize + * @return a JSON string + * @throws JsonProcessingException thrown when an error occurs during serialization + */ + String serialize(Object value) throws EAAFJsonMapperException; + + /** + * Deserialize a JSON string. + * + * @param value the JSON string to deserialize + * @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(String value, Class<T> clazz) throws EAAFJsonMapperException; + + //<T> Object deserialize(String value, TypeReference<T> clazz) throws EAAFJsonMapperException; + +}
\ No newline at end of file |