package org.smartly.commons.network.socket.messages.rest;
import org.json.JSONObject;
import org.smartly.commons.network.socket.messages.AbstractMessage;
import org.smartly.commons.util.StringUtils;
import java.util.Date;
/**
* Wrapper for REST like message.
*/
public class RESTMessage
extends AbstractMessage {
public static final String METHOD_GET = "GET";
public static final String METHOD_POST = "POST";
// --------------------------------------------------------------------
// f i e l d s
// --------------------------------------------------------------------
private String _method;
private String _path;
// --------------------------------------------------------------------
// c o n s t r u c t o r
// --------------------------------------------------------------------
public RESTMessage() {
_method = METHOD_GET;
}
public String toString() {
final StringBuilder sb = new StringBuilder();
sb.append(this.getClass().getSimpleName()).append("{");
sb.append("CreationDate: ").append(new Date(this.getCreationDate()));
sb.append(", ");
sb.append("Elapsed: ").append(this.getElapsedTime());
sb.append(", ");
sb.append("UserToken: ").append(this.getUserToken());
sb.append(", ");
sb.append("Method: ").append(this.getMethod());
sb.append(", ");
sb.append("Path: ").append(this.getPath());
sb.append("}");
return sb.toString();
}
// --------------------------------------------------------------------
// p u b l i c
// --------------------------------------------------------------------
public void setPath(final String value) {
_path = value;
}
public String getPath() {
return _path;
}
public void setMethod(final String value) {
_method = value;
}
public String getMethod() {
return _method;
}
public RESTMessage setData(final String json) {
if (StringUtils.isJSONObject(json)) {
super.setData(json);
}
return this;
}
public RESTMessage setData(final JSONObject json) {
super.setData(json.toString());
return this;
}
public String getData() {
return super.getDataString();
}
public JSONObject getDataAsJSON() {
final String data = this.getData();
if (StringUtils.isJSONObject(data)) {
return new JSONObject(data);
}
return new JSONObject();
}
}