package com.luticate.utils.dbo; import org.json.JSONArray; import org.json.JSONObject; import java.util.HashMap; import java.util.List; import java.util.Vector; /** * * Created by robin on 11/27/15. */ public class LuPaginatedDbo extends LuDbo { private transient Class _clazz; private List _data = new Vector<>(); private int _count; public LuPaginatedDbo(Class clazz) { _clazz = clazz; } public List getData() { return _data; } public void setData(List data) { _data = data; } public int getCount() { return _count; } public void setCount(int count) { _count = count; } @Override public void fromJson(JSONObject json) throws Exception { _count = json.getInt("count"); JSONArray array = json.getJSONArray("data"); for (int i = 0; i < array.length(); ++i) { T dbo = _clazz.newInstance(); dbo.fromJson(array.getJSONObject(i)); _data.add(dbo); } } @Override public HashMap toArray() { HashMap array = new HashMap<>(); array.put("count", _count); Vector> data = new Vector<>(); for (T value : _data) { data.add(value.toArray()); } array.put("data", data); return array; } }