com.eurotech.framework.message
Class EsfPayload
java.lang.Object
com.eurotech.framework.message.EsfPayload
- Direct Known Subclasses:
- EsfBirthPayload, EsfDisconnectPayload, EsfRequestPayload, EsfResponsePayload
public class EsfPayload
- extends Object
EdcPayload defines the recommended payload structure for the messages sent to the Everyware Cloud platform.
Eurotech designed the format as an open format that is flexible from the aspect of data modeling
yet is efficient when it comes to bandwidth conservation. The same payload model is used by the REST API
- in which case it is serialized into XML or JSON as requested by the client - or uses the efficient
Google ProtoBuf when sent over an MQTT connection when the bandwidth is very important.
The EdcPayload contains the following fields: sentOn timestamp, an optional set of metrics represented as
name-value pairs, an optional position field to capture a GPS position, and an optional binary body.
- sentOn: it is the timestamp when the data was captured and sent to the Everyware Cloud platform.
- metrics: a metric is a data structure composed of the name, a value, and the type of the value.
When used with the REST API valid metric types are: string, double, int, float, long, boolean, base64Binary.
Data exposed into the payload metrics can be processed through the real-time rules offered by the
Everyware Cloud platform or used as query criteria when searching for messages through the messages/searchByMetric API.
Each payload can have zero or more metrics.
- position: it is an optional field used to capture a geo position associated to this payload.
- body: it is an optional part of the payload that allows additional information to be transmitted in any format determined by the user.
This field will be stored into the platform database, but the Everyware Cloud cannot apply any statistical analysis on it.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EsfPayload
public EsfPayload()
getTimestamp
public Date getTimestamp()
setTimestamp
public void setTimestamp(Date timestamp)
getPosition
public EsfPosition getPosition()
setPosition
public void setPosition(EsfPosition position)
getMetric
public Object getMetric(String name)
addMetric
public void addMetric(String name,
Object value)
removeMetric
public void removeMetric(String name)
removeAllMetrics
public void removeAllMetrics()
metricNames
public Set<String> metricNames()
metricsIterator
public Iterator<String> metricsIterator()
metrics
public Map<String,Object> metrics()
getBody
public byte[] getBody()
setBody
public void setBody(byte[] body)
Copyright © 2013. All Rights Reserved.