Class ResolvedTopicIndex
- java.lang.Object
- 
- software.amazon.smithy.mqtt.traits.ResolvedTopicIndex
 
- 
- All Implemented Interfaces:
- KnowledgeIndex
 
 public final class ResolvedTopicIndex extends java.lang.Object implements KnowledgeIndex Computes all of the MQTTTopicBindings 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:
- TopicBinding
 
- 
- 
Constructor SummaryConstructors Constructor Description ResolvedTopicIndex(Model model)
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<TopicBinding<? extends Trait>>getOperationBindings(ToShapeId operation)Get all of the MQTT topic bindings of a specific operation.java.util.Optional<TopicBinding<PublishTrait>>getPublishBinding(ToShapeId operation)Gets the MQTT publish binding of an operation.java.util.Optional<EventStreamInfo>getSubcribeEventStreamInfo(ToShapeId operation)Get subscribe event stream info.java.util.Optional<TopicBinding<SubscribeTrait>>getSubscribeBinding(ToShapeId operation)Gets the MQTT subscribe binding of an operation.static ResolvedTopicIndexof(Model model)java.util.stream.Stream<TopicBinding<? extends Trait>>topicBindings()Gets all resolved MQTT topic bindings in the model.
 
- 
- 
- 
Constructor Detail- 
ResolvedTopicIndexpublic ResolvedTopicIndex(Model model) 
 
- 
 - 
Method Detail- 
ofpublic static ResolvedTopicIndex of(Model model) 
 - 
getOperationBindingspublic java.util.List<TopicBinding<? extends Trait>> getOperationBindings(ToShapeId operation) Get all of the MQTT topic bindings of a specific operation.- Parameters:
- operation- Operation that has MQTT bindings.
- Returns:
- Returns the found MQTT bindings.
 
 - 
topicBindingspublic java.util.stream.Stream<TopicBinding<? extends Trait>> topicBindings() Gets all resolved MQTT topic bindings in the model.- Returns:
- Returns the stream of MQTT topic bindings in the model.
 
 - 
getPublishBindingpublic java.util.Optional<TopicBinding<PublishTrait>> getPublishBinding(ToShapeId operation) Gets the MQTT publish binding of an operation.- Parameters:
- operation- Operation that has MQTT bindings.
- Returns:
- Returns the optionally found MQTT publish bindings.
 
 - 
getSubscribeBindingpublic java.util.Optional<TopicBinding<SubscribeTrait>> getSubscribeBinding(ToShapeId operation) Gets the MQTT subscribe binding of an operation.- Parameters:
- operation- Operation that has MQTT bindings.
- Returns:
- Returns the optionally found MQTT subscribe bindings.
 
 - 
getSubcribeEventStreamInfopublic java.util.Optional<EventStreamInfo> getSubcribeEventStreamInfo(ToShapeId operation) 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.
 
 
- 
 
-