package ddth.dasp.framework.bo.json; import java.util.HashMap; import java.util.Map; import ddth.dasp.common.utils.JsonUtils; import ddth.dasp.framework.bo.BaseBo; /** * Use this class as starting point for JSON-based Business Object. * * @author NBThanh <btnguyen2k@gmail.com> * @version 0.1.0 */ public abstract class BaseJsonBo extends BaseBo implements IJsonBo { private Map<String, Object> attrs = new HashMap<String, Object>(); protected Object getAttribute(String name) { return attrs.get(name); } protected void setAttribute(String name, Object value) { attrs.put(name, value); } /** * {@inheritDoc} */ @Override public String toJson() { return JsonUtils.toJson(attrs); } /** * {@inheritDoc} */ @SuppressWarnings("unchecked") @Override public void populate(String jsonString) { Map<String, Object> map = JsonUtils.fromJson(jsonString, Map.class); populate(map); } }