package pl.edu.agh.assembler; import java.util.ArrayList; import java.util.List; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public abstract class AbstractJSONAssembler<E> { public abstract JSONObject serialize(E entity) throws JSONException; public JSONArray serialize(List<E> entities) throws JSONException { JSONArray serializedEntities = new JSONArray(); for (E entity : entities) { serializedEntities.put(serialize(entity)); } return serializedEntities; } public abstract E deserialize(JSONObject serializedEntity) throws JSONException; public List<E> deserialize(JSONArray serializedEntities) throws JSONException { List<E> enities = new ArrayList<E>(); for (int i = 0; i < serializedEntities.length(); i++) { enities.add(deserialize(serializedEntities.getJSONObject(i))); } return enities; } }