Working with tags

Tags facilitate the grouping of and searching for devices. A device may have multiple tags attached to it, meaning that in such cases it will be included in multiple tag groups.

The examples below demonstrate how you can create a tag and list created tags, as well as how you can tag a device and list tagged devices.

Create a tag

Execute the following code to create a tag with a particular name, such as myTag:

deviceInventory.createTag(Parameters.newBuilder().name(tagName).build());

List tags

List all existing tags grouped in pages of 10 elements each:

deviceInventory.tags(10);

Tag a device

Attach the newly created tag from the example above to a device with a particular deviceId:

deviceInventory.tagDevice(deviceId, tagName);

List tagged devices - using a tag object

List all devices which have been tagged with myTag and have been set a particular attribute, for example myAttribute:

tag.devices(
 
Filter.newBuilder()
 
.query("exists(attributes/myAttribute)")
 
.build(),
 
/* Page size */
 
10
 
);

List tagged devices - using DeviceInventory and ready-to-use filters in Criteria class

List all devices tagged with myTag:

deviceInventory.devices(
 
Filter.newBuilder()
 
.query(Criteria.hasTag(tagName))
 
.build(),
 
10
 
);

Tags can have attributes, described in more detail in Working with attributes.