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

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

The details of a message in a channel.

See Also:
  • Method Details

    • channelArn

      public final String channelArn()

      The ARN of the channel.

      Returns:
      The ARN of the channel.
    • messageId

      public final String messageId()

      The ID of a message.

      Returns:
      The ID of a message.
    • content

      public final String content()

      The content of the channel message. For Amazon Lex V2 bot responses, this field holds a list of messages originating from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

      Returns:
      The content of the channel message. For Amazon Lex V2 bot responses, this field holds a list of messages originating from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.
    • metadata

      public final String metadata()

      The message metadata.

      Returns:
      The message metadata.
    • type

      public final ChannelMessageType type()

      The message type.

      If the service returns an enum value that is not available in the current SDK version, type will return ChannelMessageType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from typeAsString().

      Returns:
      The message type.
      See Also:
    • typeAsString

      public final String typeAsString()

      The message type.

      If the service returns an enum value that is not available in the current SDK version, type will return ChannelMessageType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from typeAsString().

      Returns:
      The message type.
      See Also:
    • createdTimestamp

      public final Instant createdTimestamp()

      The time at which the message was created.

      Returns:
      The time at which the message was created.
    • lastEditedTimestamp

      public final Instant lastEditedTimestamp()

      The time at which a message was edited.

      Returns:
      The time at which a message was edited.
    • lastUpdatedTimestamp

      public final Instant lastUpdatedTimestamp()

      The time at which a message was updated.

      Returns:
      The time at which a message was updated.
    • sender

      public final Identity sender()

      The message sender.

      Returns:
      The message sender.
    • redacted

      public final Boolean redacted()

      Hides the content of a message.

      Returns:
      Hides the content of a message.
    • persistence

      public final ChannelMessagePersistenceType persistence()

      The persistence setting for a channel message.

      If the service returns an enum value that is not available in the current SDK version, persistence will return ChannelMessagePersistenceType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from persistenceAsString().

      Returns:
      The persistence setting for a channel message.
      See Also:
    • persistenceAsString

      public final String persistenceAsString()

      The persistence setting for a channel message.

      If the service returns an enum value that is not available in the current SDK version, persistence will return ChannelMessagePersistenceType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from persistenceAsString().

      Returns:
      The persistence setting for a channel message.
      See Also:
    • status

      public final ChannelMessageStatusStructure status()

      The status of the channel message.

      Returns:
      The status of the channel message.
    • hasMessageAttributes

      public final boolean hasMessageAttributes()
      For responses, this returns true if the service returned a value for the MessageAttributes 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.
    • messageAttributes

      public final Map<String,MessageAttributeValue> messageAttributes()

      The attributes for the channel message. For Amazon Lex V2 bot responses, the attributes are mapped to specific fields from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

      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 hasMessageAttributes() method.

      Returns:
      The attributes for the channel message. For Amazon Lex V2 bot responses, the attributes are mapped to specific fields from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.
    • subChannelId

      public final String subChannelId()

      The ID of the SubChannel.

      Returns:
      The ID of the SubChannel.
    • contentType

      public final String contentType()

      The content type of the channel message. For Amazon Lex V2 bot responses, the content type is application/amz-chime-lex-msgs for success responses and application/amz-chime-lex-error for failure responses. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

      Returns:
      The content type of the channel message. For Amazon Lex V2 bot responses, the content type is application/amz-chime-lex-msgs for success responses and application/amz-chime-lex-error for failure responses. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.
    • hasTarget

      public final boolean hasTarget()
      For responses, this returns true if the service returned a value for the Target 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.
    • target

      public final List<Target> target()

      The target of a message, a sender, a user, or a bot. Only the target and the sender can view targeted messages. Only users who can see targeted messages can take actions on them. However, administrators can delete targeted messages that they can’t see.

      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 hasTarget() method.

      Returns:
      The target of a message, a sender, a user, or a bot. Only the target and the sender can view targeted messages. Only users who can see targeted messages can take actions on them. However, administrators can delete targeted messages that they can’t see.
    • toBuilder

      public ChannelMessage.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<ChannelMessage.Builder,ChannelMessage>
      Returns:
      a builder for type T
    • builder

      public static ChannelMessage.Builder builder()
    • serializableBuilderClass

      public static Class<? extends ChannelMessage.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.