package com.dappervision.wearscript.dataproviders;
import org.json.simple.JSONObject;
import org.msgpack.type.Value;
import org.msgpack.type.ValueFactory;
import java.util.ArrayList;
import java.util.List;
public class DataPoint {
public String name;
public int type;
public List<Double> values;
public List<Value> valuesV;
public long timestampRaw;
public double timestamp;
private DataProvider parent;
DataPoint(DataProvider parent, double timestamp, long timestampRaw) {
this.parent = parent;
name = parent.getName();
type = parent.getType();
this.timestamp = timestamp;
this.timestampRaw = timestampRaw;
this.values = new ArrayList<Double>();
this.valuesV = new ArrayList<Value>();
}
public DataPoint(String name, int type, double timestamp, long timestampRaw) {
this.name = name;
this.type = type;
this.timestamp = timestamp;
this.timestampRaw = timestampRaw;
this.values = new ArrayList<Double>();
this.valuesV = new ArrayList<Value>();
}
public void addValue(Double v) {
this.values.add(v);
this.valuesV.add(ValueFactory.createFloatValue(v));
}
public int getType() {
return type;
}
public String getName() {
return name;
}
public Value getValue() {
ArrayList<Value> output = new ArrayList();
output.add(ValueFactory.createArrayValue(valuesV.toArray(new Value[0])));
output.add(ValueFactory.createFloatValue(timestamp));
output.add(ValueFactory.createIntegerValue(timestampRaw));
return ValueFactory.createArrayValue(output.toArray(new Value[0]));
}
public String toJSONString() {
JSONObject o = new JSONObject();
o.put("name", name);
o.put("type", type);
o.put("timestamp", timestamp);
o.put("timestampRaw", timestampRaw);
o.put("values", values);
return o.toJSONString();
}
}