public class TwinState extends RegisterManager
The TwinState can contain one TwinCollection of Tags, and one
TwinCollection of properties.desired.
Each entity in the collections can contain a associated TwinMetadata.
These metadata are provided by the Service and contains information about the last updated date time, and version.
For instance, the following is a valid TwinState, represented as
initialTwin in the rest API.
{
"initialTwin": {
"tags":{
"SpeedUnity":"MPH",
"$metadata":{
"$lastUpdated":"2017-09-21T02:07:44.238Z",
"$lastUpdatedVersion":4,
"SpeedUnity":{
"$lastUpdated":"2017-09-21T02:07:44.238Z",
"$lastUpdatedVersion":4
}
},
"$version":4
},
"properties":{
"desired": {
"MaxSpeed":{
"Value":500,
"NewValue":300
},
"$metadata":{
"$lastUpdated":"2017-09-21T02:07:44.238Z",
"$lastUpdatedVersion":4,
"MaxSpeed":{
"$lastUpdated":"2017-09-21T02:07:44.238Z",
"$lastUpdatedVersion":4,
"Value":{
"$lastUpdated":"2017-09-21T02:07:44.238Z",
"$lastUpdatedVersion":4
},
"NewValue":{
"$lastUpdated":"2017-09-21T02:07:44.238Z",
"$lastUpdatedVersion":4
}
}
},
"$version":4
},
"reported": {
"MaxSpeed":{
"Value":500,
"NewValue":300
},
"$metadata":{
"$lastUpdated":"2017-09-21T02:07:44.238Z",
"$lastUpdatedVersion":5,
"MaxSpeed":{
"$lastUpdated":"2017-09-21T02:07:44.238Z",
"$lastUpdatedVersion":4,
"Value":{
"$lastUpdated":"2017-09-21T02:07:44.238Z",
"$lastUpdatedVersion":5
},
"NewValue":{
"$lastUpdated":"2017-09-21T02:07:44.238Z",
"$lastUpdatedVersion":4
}
}
},
"$version":6
}
}
}
}
capabilities, connectionState, connectionStateUpdatedTime, deviceId, eTag, generationId, lastActivityTime, moduleId, status, statusReason, statusUpdatedTime, version| Constructor and Description |
|---|
TwinState(TwinCollection tags,
TwinCollection desiredProperty,
TwinCollection reportedProperty)
CONSTRUCTOR
|
| Modifier and Type | Method and Description |
|---|---|
static TwinState |
createFromDesiredPropertyJson(String json)
Factory
|
static TwinState |
createFromPropertiesJson(String json)
Factory
|
static TwinState |
createFromReportedPropertyJson(String json)
Factory
|
static TwinState |
createFromTwinJson(String json)
Factory
|
Map<String,ConfigurationInfo> |
getConfigurations()
Getter for the configurations
|
TwinCollection |
getDesiredProperty()
Getter for the desired property.
|
TwinCollection |
getReportedProperty()
Getter for the reported property.
|
TwinCollection |
getTags()
Getter for the tags.
|
com.google.gson.JsonElement |
toJsonElement()
Serializer
|
String |
toString()
Creates a pretty print JSON with the content of this class and subclasses.
|
getCapabilities, getDeviceId, getETag, getModuleId, getVersion, setCapabilities, setDeviceId, setETag, setModuleIdpublic TwinState(TwinCollection tags, TwinCollection desiredProperty, TwinCollection reportedProperty)
This constructor creates an instance of the TwinState with the provided TwinCollection
tags and desired properties.
When serialized, this class will looks like the following example:
"initialTwin": {
"tags":{
"SpeedUnity":"MPH",
"$version":4
}
"properties":{
"desired":{
"MaxSpeed":{
"Value":500,
"NewValue":300
},
"$version":4
}
}
}
}
tags - the TwinCollection with the initial tags state. It can be null.desiredProperty - the TwinCollection with the desired properties. It can be null.reportedProperty - the TwinCollection with the reported properties. It can be null.public com.google.gson.JsonElement toJsonElement()
Creates a JsonElement, which the content represents
the information in this class and its subclasses in a JSON format.
This is useful if the caller will integrate this JSON with JSON from
other classes to generate a consolidated JSON.
JsonElement with the content of this class.public TwinCollection getTags()
TwinCollection with the tags content. It can be null.public TwinCollection getDesiredProperty()
TwinCollection with the desired property content. It can be null.public TwinCollection getReportedProperty()
TwinCollection with the reported property content. It can be null.public Map<String,ConfigurationInfo> getConfigurations()
null.public String toString()
public static TwinState createFromTwinJson(String json)
Create a new instance of the TwinState parsing the provided string as a JSON with the full Twin information.
json - the String with the JSON received from the service. It cannot be null or empty.TwinState.public static TwinState createFromDesiredPropertyJson(String json)
Create a new instance of the TwinState parsing the provided string as a JSON with only desired properties information.
json - the String with the JSON received from the service. It cannot be null or empty.TwinState.public static TwinState createFromReportedPropertyJson(String json)
Create a new instance of the TwinState parsing the provided string as a JSON with only reported properties information.
json - the String with the JSON received from the service. It cannot be null or empty.TwinState.public static TwinState createFromPropertiesJson(String json)
Create a new instance of the TwinState parsing the provided string as a JSON with only desired properties information.
json - the String with the JSON received from the service. It cannot be null or empty.TwinState.Copyright © 2019. All rights reserved.