diff options
Diffstat (limited to 'src/test/java/com/juick/json/JSONSerializer.java')
-rw-r--r-- | src/test/java/com/juick/json/JSONSerializer.java | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/test/java/com/juick/json/JSONSerializer.java b/src/test/java/com/juick/json/JSONSerializer.java new file mode 100644 index 00000000..3dc9e04e --- /dev/null +++ b/src/test/java/com/juick/json/JSONSerializer.java @@ -0,0 +1,73 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.juick.json; + +import java.text.ParseException; +import java.util.Iterator; +import java.util.List; +import org.json.JSONObject; + +/** + * + * @author vt + * @param <T> + */ +public abstract class JSONSerializer<T> { + + public enum URIScheme { + Plain, + Secure + } + + private URIScheme uriScheme; + + public URIScheme getUriScheme() { + return uriScheme; + } + + public void setUriScheme(URIScheme uriScheme) { + this.uriScheme = uriScheme; + } + + public JSONSerializer() { + this.uriScheme = URIScheme.Plain; + } + + /** + * + * @param json + * @return + */ + public abstract T deserialize(JSONObject json) throws ParseException; + + /** + * + * @param obj + * @return + */ + public abstract JSONObject serialize(T obj); + + /** + * + * @param objs + * @return + */ + public String serializeList(List<T> objs) { + String json = "["; + + Iterator<T> i = objs.iterator(); + while (i.hasNext()) { + T m = i.next(); + if (json.length() > 1) { + json += ","; + } + json += serialize(m).toString(); + } + + json += "]"; + return json; + } +} |