Sentinel Things - STARIONGROUP/COMET-SDK-Community-Edition GitHub Wiki

SentinelThingProvider

The Assembler is responsible for converting DTO instances that are returned by an Annex C data-ource into POCO instances. These POCO isntances are added to the Cache, all the value properties are set and the reference properties are resolved. The reference properties are pointers to other POCO instances that should also reside in the Cache. The Assembler invokes the ValidatePoco on each POCO once it has been resolved. Unresolved reference properties will return null when the getter is called, in this case the SentinelThingProvider is used to provide sentinel instances of Things.

Sentinel Thing

A sentinel Thing is an object that is used to make sure that in the POCO instances there are no properties that are null when these should not be null according to the COMET Data Model. As such, these sentinel Things stand guard to make sure that API developers do not have to take extra precautions to check for null when this should in principle not occur.

The COMET-SDK can be used to connect to any ECSS-E-TM-10-25A Annex C compliant data-source. To make sure that the COMET-SDK does not cause any problems due to incorrent and incomplete results being returned by an ECSS-E-TM-10-25A Annex C compliant data-source, sentinel Things are set by the Assembler.

A sentinel Thing is characterized by the fact that it has as unique identifier the empty GUID_: 00000000-0000-0000-0000-000000000000. A sentinel Thing is not stored in the Cache and it's Cache and IDalUri property are null.