package com.mongodb.hvdf.util;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.util.JSON;
import com.mongodb.hvdf.api.FrameworkError;
import com.mongodb.hvdf.api.ServiceException;
import java.util.Map;
public class JSONParam {
private DBObject dbObject = null;
public JSONParam(String json){
try {
dbObject = (DBObject) JSON.parse(json);
}
catch (Exception ex) {
throw ServiceException.wrap(ex, FrameworkError.CANNOT_PARSE_JSON).
set("json", json);
}
}
@JsonCreator
public JSONParam(Map<String,Object> props) {
dbObject = new BasicDBObject();
dbObject.putAll(props);
}
@Override
public boolean equals(Object obj) {
if (obj == null)
return false;
if (obj == this)
return true;
if (!(obj instanceof JSONParam))
return false;
JSONParam rhs = (JSONParam) obj;
return this.dbObject.equals(rhs.dbObject);
}
@Override
public int hashCode() {
return dbObject.hashCode();
}
@Override
public String toString() {
return dbObject.toString();
}
public DBObject toDBObject() {
return dbObject;
}
}