/* * */ package org.smartly.commons.event; import org.json.JSONObject; import org.smartly.commons.util.JsonWrapper; import org.smartly.commons.util.StringUtils; /** * * */ public class Event { private static final String FLD_SENDER = "sender"; private static final String FLD_NAME = "name"; private static final String FLD_DATA = "data"; private final JSONObject _json; public Event(final Object sender, final String name) { _json = new JSONObject(); this.put(FLD_SENDER, sender); this.put(FLD_NAME, name); } public Event(final Object sender, final String name, final Object data) { _json = new JSONObject(); this.put(FLD_SENDER, sender); this.put(FLD_NAME, name); this.setData(data); } @Override public String toString() { return _json.toString(); } public JSONObject toJSON() { return new JSONObject(_json.toString()); } public Object getSender() { return JsonWrapper.get(_json, FLD_SENDER); } /* public void setSender(Object sender) { _sender = sender; } */ public String getName() { return JsonWrapper.getString(_json, FLD_NAME); } public Object getData() { return JsonWrapper.get(_json, FLD_DATA); } public void setData(final Object data) { this.put(FLD_DATA, data); } protected void put(final String key, final Object value) { if (StringUtils.hasText(key) && null != value) { JsonWrapper.put(_json, key, value); } } protected Object get(final String key) { if (StringUtils.hasText(key)) { return JsonWrapper.get(_json, key); } return null; } protected String getString(final String key) { if (StringUtils.hasText(key)) { return JsonWrapper.getString(_json, key); } return ""; } protected boolean getBoolean(final String key) { if (StringUtils.hasText(key)) { return JsonWrapper.getBoolean(_json, key); } return false; } protected int getInt(final String key) { if (StringUtils.hasText(key)) { return JsonWrapper.getInt(_json, key); } return 0; } protected double getDouble(final String key) { if (StringUtils.hasText(key)) { return JsonWrapper.getDouble(_json, key); } return 0.0; } }