Class ResolvedTopicIndex
java.lang.Object
software.amazon.smithy.mqtt.traits.ResolvedTopicIndex
- All Implemented Interfaces:
KnowledgeIndex
Computes all of the MQTT
TopicBinding
s in a model.
This index is useful for things like finding the payload of an MQTT topic on an operation and grabbing the event stream information of a subscribe operation.
ResolvedTopicIndex resolvedIndex = ResolvedTopicIndex.of(model);
TopicBinding<PublishTrait> binding = resolvedIndex.getPublishBinding(myOperation).get();
assert(binding.getTopic() instanceOf Topic);
assert(binding.getMqttTrait() instanceOf PublishTrait);
System.out.println(binding.getPayloadShape());
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionList<TopicBinding<? extends Trait>>
getOperationBindings
(ToShapeId operation) Get all of the MQTT topic bindings of a specific operation.getPublishBinding
(ToShapeId operation) Gets the MQTT publish binding of an operation.getSubcribeEventStreamInfo
(ToShapeId operation) Get subscribe event stream info.getSubscribeBinding
(ToShapeId operation) Gets the MQTT subscribe binding of an operation.static ResolvedTopicIndex
Stream<TopicBinding<? extends Trait>>
Gets all resolved MQTT topic bindings in the model.
-
Constructor Details
-
ResolvedTopicIndex
-
-
Method Details
-
of
-
getOperationBindings
Get all of the MQTT topic bindings of a specific operation.- Parameters:
operation
- Operation that has MQTT bindings.- Returns:
- Returns the found MQTT bindings.
-
topicBindings
Gets all resolved MQTT topic bindings in the model.- Returns:
- Returns the stream of MQTT topic bindings in the model.
-
getPublishBinding
Gets the MQTT publish binding of an operation.- Parameters:
operation
- Operation that has MQTT bindings.- Returns:
- Returns the optionally found MQTT publish bindings.
-
getSubscribeBinding
Gets the MQTT subscribe binding of an operation.- Parameters:
operation
- Operation that has MQTT bindings.- Returns:
- Returns the optionally found MQTT subscribe bindings.
-
getSubcribeEventStreamInfo
Get subscribe event stream info.This information describes if the event stream contains a single event, multiple events, and if there are any initial-request or response members.
- Parameters:
operation
- Operation to get the event stream info o.- Returns:
- Returns the optionally found event stream info.
-