Class MqttHeaders

java.lang.Object
software.amazon.awssdk.services.iot.model.MqttHeaders
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<MqttHeaders.Builder,MqttHeaders>

@Generated("software.amazon.awssdk:codegen") public final class MqttHeaders extends Object implements SdkPojo, Serializable, ToCopyableBuilder<MqttHeaders.Builder,MqttHeaders>

Specifies MQTT Version 5.0 headers information. For more information, see MQTT from Amazon Web Services IoT Core Developer Guide.

See Also:
  • Method Details

    • payloadFormatIndicator

      public final String payloadFormatIndicator()

      An Enum string value that indicates whether the payload is formatted as UTF-8.

      Valid values are UNSPECIFIED_BYTES and UTF8_DATA.

      For more information, see Payload Format Indicator from the MQTT Version 5.0 specification.

      Supports substitution templates.

      Returns:
      An Enum string value that indicates whether the payload is formatted as UTF-8.

      Valid values are UNSPECIFIED_BYTES and UTF8_DATA.

      For more information, see Payload Format Indicator from the MQTT Version 5.0 specification.

      Supports substitution templates.

    • contentType

      public final String contentType()

      A UTF-8 encoded string that describes the content of the publishing message.

      For more information, see Content Type from the MQTT Version 5.0 specification.

      Supports substitution templates.

      Returns:
      A UTF-8 encoded string that describes the content of the publishing message.

      For more information, see Content Type from the MQTT Version 5.0 specification.

      Supports substitution templates.

    • responseTopic

      public final String responseTopic()

      A UTF-8 encoded string that's used as the topic name for a response message. The response topic is used to describe the topic which the receiver should publish to as part of the request-response flow. The topic must not contain wildcard characters.

      For more information, see Response Topic from the MQTT Version 5.0 specification.

      Supports substitution templates.

      Returns:
      A UTF-8 encoded string that's used as the topic name for a response message. The response topic is used to describe the topic which the receiver should publish to as part of the request-response flow. The topic must not contain wildcard characters.

      For more information, see Response Topic from the MQTT Version 5.0 specification.

      Supports substitution templates.

    • correlationData

      public final String correlationData()

      The base64-encoded binary data used by the sender of the request message to identify which request the response message is for when it's received.

      For more information, see Correlation Data from the MQTT Version 5.0 specification.

      This binary data must be based64-encoded.

      Supports substitution templates.

      Returns:
      The base64-encoded binary data used by the sender of the request message to identify which request the response message is for when it's received.

      For more information, see Correlation Data from the MQTT Version 5.0 specification.

      This binary data must be based64-encoded.

      Supports substitution templates.

    • messageExpiry

      public final String messageExpiry()

      A user-defined integer value that will persist a message at the message broker for a specified amount of time to ensure that the message will expire if it's no longer relevant to the subscriber. The value of messageExpiry represents the number of seconds before it expires. For more information about the limits of messageExpiry, see Amazon Web Services IoT Core message broker and protocol limits and quotas from the Amazon Web Services Reference Guide.

      Supports substitution templates.

      Returns:
      A user-defined integer value that will persist a message at the message broker for a specified amount of time to ensure that the message will expire if it's no longer relevant to the subscriber. The value of messageExpiry represents the number of seconds before it expires. For more information about the limits of messageExpiry, see Amazon Web Services IoT Core message broker and protocol limits and quotas from the Amazon Web Services Reference Guide.

      Supports substitution templates.

    • hasUserProperties

      public final boolean hasUserProperties()
      For responses, this returns true if the service returned a value for the UserProperties property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • userProperties

      public final List<UserProperty> userProperties()

      An array of key-value pairs that you define in the MQTT5 header.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasUserProperties() method.

      Returns:
      An array of key-value pairs that you define in the MQTT5 header.
    • toBuilder

      public MqttHeaders.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<MqttHeaders.Builder,MqttHeaders>
      Returns:
      a builder for type T
    • builder

      public static MqttHeaders.Builder builder()
    • serializableBuilderClass

      public static Class<? extends MqttHeaders.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.