public final class Thing extends ServiceInstance implements IThing, ThingListener
Thing
s are configurable and virtual object to
communicate with ArCloudIotIgniteManager
,
Node
,
ThingManager
agentService
Modifier | Constructor and Description |
---|---|
protected |
Thing(android.content.Context context,
android.hardware.Sensor androidSensor,
ThingListener listener,
ThingManager mThingManager)
Thing constructor for android sensors.
|
protected |
Thing(android.content.Context context,
java.lang.String thingID,
ThingType thingType,
ThingCategory thingCategory,
boolean isActuator,
ThingListener listener,
ThingManager mThingManager,
java.lang.String uniqueID)
General thing constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj) |
android.hardware.Sensor |
getAndroidBuiltInSensor()
Get the wrapped
Sensor . |
boolean |
getIsActuator()
Gets
Thing 's state which actuator or not. |
java.lang.String |
getNodeID()
Return NodeId thing belongs to
|
ThingCategory |
getThingCategory()
Get category of
Thing . |
ThingConfiguration |
getThingConfiguration()
Gets
Thing 's configuration. |
android.content.Context |
getThingContext() |
ThingData |
getThingData()
Last data of
Thing object. |
java.lang.String |
getThingID()
Get
Thing 's specified ID |
ThingListener |
getThingListener()
Return thing's listener object.
|
java.lang.String |
getThingName()
Get
Thing 's human readable name. |
ThingType |
getThingType()
Get specified type of
ThingType . |
java.lang.String |
getUniqueID()
Get
Thing 's unique ID |
int |
hashCode() |
boolean |
isConnected()
Get last connection info of
Thing . |
boolean |
isRegistered()
Checks
Thing object is registered or not. |
void |
onActionReceived(java.lang.String nodeID,
java.lang.String thingID,
ThingActionData thingData)
If
Thing set as an actuator, action callback going to be handled here. |
void |
onConfigurationReceived(Thing newThing)
Return new configured
Thing object. |
void |
onThingUnregistered(java.lang.String nodeID,
java.lang.String thingID)
If
Thing is unregistered, callback method notifies the application. |
boolean |
register()
|
boolean |
sendData(ThingData data)
Send
ThingData to cloud. |
protected void |
setAndroidSensor(android.hardware.Sensor androidSensor) |
void |
setConnected(boolean connected,
java.lang.String description)
Set connection state of
Thing . |
void |
setIsActuator(boolean isActuator)
Sets
Thing object can/can't receive action message. |
void |
setThingCategory(ThingCategory thingCategory)
|
void |
setThingConfiguration(ThingConfiguration config)
Sets
ThingConfiguration of your Thing . |
void |
setThingContext(android.content.Context context)
Sets
Context of Thing . |
void |
setThingData(ThingData thingData)
Set or update
Thing |
void |
setThingID(java.lang.String thingID)
Set
Thing 's ID. |
void |
setThingListener(ThingListener listener)
Sets
ThingListener for actuator and ThingConfiguration callbacks. |
protected void |
setThingManager(ThingManager manager) |
void |
setThingName(java.lang.String thingName)
Set human readable name to specified
Thing . |
void |
setThingType(ThingType thingType)
|
void |
setUniqueID(java.lang.String uniqueID)
Set
Thing 's uniqueID. |
java.lang.String |
toString() |
boolean |
unregister()
|
protected Thing(@NonNull android.content.Context context, @NonNull java.lang.String thingID, @NonNull ThingType thingType, @NonNull ThingCategory thingCategory, boolean isActuator, ThingListener listener, ThingManager mThingManager, java.lang.String uniqueID)
context
- : Context of your application.thingID
- : Id of your thing.thingType
- : Type of your thing.thingCategory
- : Category of your thing.isActuator
- : Is this thing gonna be used as an actuator or not.listener
- : Thing listener for actuator and configuration callbacks.uniqueID
- : Unique id of your thing.protected Thing(@NonNull android.content.Context context, @NonNull android.hardware.Sensor androidSensor, ThingListener listener, ThingManager mThingManager)
context
- :Context of your application.androidSensor
- : Android sensor object.listener
- : Thing listener for actuator and configuration callbacks.protected void setAndroidSensor(android.hardware.Sensor androidSensor)
protected void setThingManager(ThingManager manager)
public java.lang.String getThingID()
IThing
Thing
's specified IDgetThingID
in interface IThing
public void setThingID(java.lang.String thingID)
IThing
Thing
's ID. Every node must has unique things.setThingID
in interface IThing
thingID
- thingID of Thing
public java.lang.String getThingName()
IThing
Thing
's human readable name.getThingName
in interface IThing
public void setThingName(java.lang.String thingName)
IThing
Thing
.setThingName
in interface IThing
thingName
- name of the thingpublic ThingData getThingData()
IThing
Thing
object.getThingData
in interface IThing
public void setThingData(ThingData thingData)
IThing
Thing
setThingData
in interface IThing
thingData
- : Specified ThingData
of thing.data of the thing
public android.hardware.Sensor getAndroidBuiltInSensor()
IThing
Sensor
. If you're not using built-in Sensor
you can
ignore this function. NOTE: If you are not using Android Sensor
this function returns NULL.getAndroidBuiltInSensor
in interface IThing
Sensor
object.ThingData
public ThingType getThingType()
IThing
ThingType
.getThingType
in interface IThing
ThingType
object. You can use getThingType() to use String data of ThingType
object.Sensor
public void setThingType(ThingType thingType)
IThing
setThingType
in interface IThing
thingType
- type of the ThingThingType
public ThingCategory getThingCategory()
IThing
getThingCategory
in interface IThing
ThingCategory
object.ThingCategory
public void setThingCategory(ThingCategory thingCategory)
IThing
setThingCategory
in interface IThing
ThingCategory
public ThingConfiguration getThingConfiguration()
IThing
Thing
's configuration.getThingConfiguration
in interface IThing
ThingConfiguration
: ThingConfiguration
object.ThingConfiguration
public void setThingConfiguration(ThingConfiguration config)
IThing
ThingConfiguration
of your Thing
.setThingConfiguration
in interface IThing
config
- : ThingConfiguration
object which going to be set.ThingConfiguration
public android.content.Context getThingContext()
getThingContext
in interface IThing
Context
of Thing
object.public void setThingContext(android.content.Context context)
IThing
Context
of Thing
.setThingContext
in interface IThing
context
- Context of the Applicationpublic boolean getIsActuator()
IThing
Thing
's state which actuator or not.getIsActuator
in interface IThing
true
| false
: Actuator state of Thing
object.public void setIsActuator(boolean isActuator)
IThing
Thing
object can/can't receive action message. If its true it can use Thing
object as
actuator.setIsActuator
in interface IThing
public ThingListener getThingListener()
IThing
getThingListener
in interface IThing
ThingListener
public void setThingListener(ThingListener listener)
IThing
ThingListener
for actuator and ThingConfiguration
callbacks.setThingListener
in interface IThing
listener
- : ThingListener
object.ThingListener
public java.lang.String getUniqueID()
IThing
Thing
's unique IDgetUniqueID
in interface IThing
Thing
public void setUniqueID(java.lang.String uniqueID)
IThing
Thing
's uniqueID. Every node must has unique Id.setUniqueID
in interface IThing
uniqueID
- uniqueID of Thing
public java.lang.String getNodeID()
IThing
public boolean register()
IThing
public boolean unregister()
IThing
unregister
in interface IThing
true
| false
: Unregistration state of Thing
.public boolean isRegistered()
IThing
Thing
object is registered or not.isRegistered
in interface IThing
true
| false
: registration state of Thing
.public boolean sendData(ThingData data)
IThing
ThingData
to cloud.public boolean isConnected()
IThing
Thing
.isConnected
in interface IThing
true
or false
public void setConnected(boolean connected, java.lang.String description)
IThing
Thing
.setConnected
in interface IThing
connected
- : connection state.description
- : connection state change description.public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public void onConfigurationReceived(Thing newThing)
ThingListener
Thing
object. When Thing
object got a new configuration. It
internally changes the config. This listener is only for notifying the application about
the changed objects.onConfigurationReceived
in interface ThingListener
ThingConfiguration
,
Thing
public void onActionReceived(java.lang.String nodeID, java.lang.String thingID, ThingActionData thingData)
ThingListener
Thing
set as an actuator, action callback going to be handled here.onActionReceived
in interface ThingListener
nodeID
- : id of Thing
's assigned node.thingID
- : id of action.thingData
- : actuator ThingActionData
data.ThingActionData
,
Thing
public void onThingUnregistered(java.lang.String nodeID, java.lang.String thingID)
ThingListener
Thing
is unregistered, callback method notifies the application.onThingUnregistered
in interface ThingListener
nodeID
- : id of Thing
's assigned node.thingID
- : id of action.Thing
public java.lang.String toString()
toString
in class java.lang.Object