This library implements the uProtocol Language Specific Library Requirements for Kotlin defined in uProtocol Specifications. The library is organized into packages that are described in SDK Packages below. Each package contains a README.adoc file that describes the purpose of the package and how to use it.
The module contains the factory methods, serializers, and validators for all data types defined in the specifications, and any data models that either haven’t or couldn’t be defined in uprotocol-core-api yet (ex. UPayload) This library fits into the big picture of the uProtocol SDK as seen in [uprotocol-sdk] below.
To pull the SDK from maven central, add the following dependency to your pom.xml file:
<!-- uProtocol Core -->
<dependency>
<groupId>org.eclipse.uprotocol</groupId>
<artifactId>uprotocol-kotlin</artifactId>
<version>1.5.0</version>
</dependency>
The SDK is broken up into different packages that are described in SDK Packages below. Each package contains a README.adoc file that describes the purpose of the package and how to use it. Packages are organized into the following directories:
Folder | Purpose |
---|---|
|
Contains factory methods for creating uProtocol data types |
|
Contains serializers to convert the objects into byte or string form representation of said object |
|
Contains validators to validate the data types and report errors if the objects are missing or incorrect |
Package | Purpose |
---|---|
Uniform Resource Identifier (RFC3986), how uProtocol addresses things (devices, software, methods, topics, etc…) on the network |
|
Identifier used to uniquely identify (and timestamp) messages that are sent |
|
Interface and data model declaration used for bidirectional point-2-point communication between uEs. This interface is then implemented by ulink libraries for a given underlining transport (ex. Binder, MQTT, Zenoh, SOME/IP, DDS, HTTP, etc…) |
|
Common way to represent uProtocol messages using CloudEvent data model used by some transports (ex. MQTT, HTTP, etc…) |
Note
|
Please visit the READMEs in SDK Packages for examples of how to use the different data types and their factories, validators, and serializers. |