/* * Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.chimesdkmessaging.model; import java.io.Serializable; /** *
* Summary of the messages in a Channel
.
*
* The ID of the message. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [-_a-zA-Z0-9]*
*/
private String messageId;
/**
*
* 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. *
*
* Constraints:
* Length: 0 - 4096
* Pattern: [\s\S]*
*/
private String content;
/**
*
* The metadata of the message. *
*
* Constraints:
* Length: 0 - 1024
* Pattern: .*
*/
private String metadata;
/**
*
* The type of message. *
*
* Constraints:
* Allowed Values: STANDARD, CONTROL
*/
private String type;
/**
*
* The time at which the message summary was created. *
*/ private java.util.Date createdTimestamp; /** ** The time at which a message was last updated. *
*/ private java.util.Date lastUpdatedTimestamp; /** ** The time at which a message was last edited. *
*/ private java.util.Date lastEditedTimestamp; /** ** The message sender. *
*/ private Identity sender; /** ** Indicates whether a message was redacted. *
*/ private Boolean redacted; /** *
* The message status. The status value is SENT
for messages
* sent to a channel without a channel flow. For channels associated with
* channel flow, the value determines the processing stage.
*
* 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. *
*/ private java.util.Map
* The content type of the channel message listed in the summary. 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.
*
* Constraints:
* Length: 0 - 45
* Pattern: [\s\S]*
*/
private String contentType;
/**
*
* 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. *
*/ private java.util.List* The ID of the message. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [-_a-zA-Z0-9]*
*
* @return
* The ID of the message. *
*/ public String getMessageId() { return messageId; } /** ** The ID of the message. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [-_a-zA-Z0-9]*
*
* @param messageId
* The ID of the message. *
*/ public void setMessageId(String messageId) { this.messageId = messageId; } /** ** The ID of the message. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 128
* Pattern: [-_a-zA-Z0-9]*
*
* @param messageId
* The ID of the message. *
* @return A reference to this updated object so that method calls can be * chained together. */ public ChannelMessageSummary withMessageId(String messageId) { this.messageId = messageId; return this; } /** ** 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. *
*
* Constraints:
* Length: 0 - 4096
* Pattern: [\s\S]*
*
* @return
* 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. *
*/ public String getContent() { return 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. *
*
* Constraints:
* Length: 0 - 4096
* Pattern: [\s\S]*
*
* @param 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. *
*/ public void setContent(String content) { this.content = 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 a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 0 - 4096
* Pattern: [\s\S]*
*
* @param 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. *
* @return A reference to this updated object so that method calls can be * chained together. */ public ChannelMessageSummary withContent(String content) { this.content = content; return this; } /** ** The metadata of the message. *
*
* Constraints:
* Length: 0 - 1024
* Pattern: .*
*
* @return
* The metadata of the message. *
*/ public String getMetadata() { return metadata; } /** ** The metadata of the message. *
*
* Constraints:
* Length: 0 - 1024
* Pattern: .*
*
* @param metadata
* The metadata of the message. *
*/ public void setMetadata(String metadata) { this.metadata = metadata; } /** ** The metadata of the message. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 0 - 1024
* Pattern: .*
*
* @param metadata
* The metadata of the message. *
* @return A reference to this updated object so that method calls can be * chained together. */ public ChannelMessageSummary withMetadata(String metadata) { this.metadata = metadata; return this; } /** ** The type of message. *
*
* Constraints:
* Allowed Values: STANDARD, CONTROL
*
* @return
* The type of message. *
* @see ChannelMessageType */ public String getType() { return type; } /** ** The type of message. *
*
* Constraints:
* Allowed Values: STANDARD, CONTROL
*
* @param type
* The type of message. *
* @see ChannelMessageType */ public void setType(String type) { this.type = type; } /** ** The type of message. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: STANDARD, CONTROL
*
* @param type
* The type of message. *
* @return A reference to this updated object so that method calls can be * chained together. * @see ChannelMessageType */ public ChannelMessageSummary withType(String type) { this.type = type; return this; } /** ** The type of message. *
*
* Constraints:
* Allowed Values: STANDARD, CONTROL
*
* @param type
* The type of message. *
* @see ChannelMessageType */ public void setType(ChannelMessageType type) { this.type = type.toString(); } /** ** The type of message. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: STANDARD, CONTROL
*
* @param type
* The type of message. *
* @return A reference to this updated object so that method calls can be * chained together. * @see ChannelMessageType */ public ChannelMessageSummary withType(ChannelMessageType type) { this.type = type.toString(); return this; } /** ** The time at which the message summary was created. *
* * @return* The time at which the message summary was created. *
*/ public java.util.Date getCreatedTimestamp() { return createdTimestamp; } /** ** The time at which the message summary was created. *
* * @param createdTimestamp* The time at which the message summary was created. *
*/ public void setCreatedTimestamp(java.util.Date createdTimestamp) { this.createdTimestamp = createdTimestamp; } /** ** The time at which the message summary was created. *
** Returns a reference to this object so that method calls can be chained * together. * * @param createdTimestamp
* The time at which the message summary was created. *
* @return A reference to this updated object so that method calls can be * chained together. */ public ChannelMessageSummary withCreatedTimestamp(java.util.Date createdTimestamp) { this.createdTimestamp = createdTimestamp; return this; } /** ** The time at which a message was last updated. *
* * @return* The time at which a message was last updated. *
*/ public java.util.Date getLastUpdatedTimestamp() { return lastUpdatedTimestamp; } /** ** The time at which a message was last updated. *
* * @param lastUpdatedTimestamp* The time at which a message was last updated. *
*/ public void setLastUpdatedTimestamp(java.util.Date lastUpdatedTimestamp) { this.lastUpdatedTimestamp = lastUpdatedTimestamp; } /** ** The time at which a message was last updated. *
** Returns a reference to this object so that method calls can be chained * together. * * @param lastUpdatedTimestamp
* The time at which a message was last updated. *
* @return A reference to this updated object so that method calls can be * chained together. */ public ChannelMessageSummary withLastUpdatedTimestamp(java.util.Date lastUpdatedTimestamp) { this.lastUpdatedTimestamp = lastUpdatedTimestamp; return this; } /** ** The time at which a message was last edited. *
* * @return* The time at which a message was last edited. *
*/ public java.util.Date getLastEditedTimestamp() { return lastEditedTimestamp; } /** ** The time at which a message was last edited. *
* * @param lastEditedTimestamp* The time at which a message was last edited. *
*/ public void setLastEditedTimestamp(java.util.Date lastEditedTimestamp) { this.lastEditedTimestamp = lastEditedTimestamp; } /** ** The time at which a message was last edited. *
** Returns a reference to this object so that method calls can be chained * together. * * @param lastEditedTimestamp
* The time at which a message was last edited. *
* @return A reference to this updated object so that method calls can be * chained together. */ public ChannelMessageSummary withLastEditedTimestamp(java.util.Date lastEditedTimestamp) { this.lastEditedTimestamp = lastEditedTimestamp; return this; } /** ** The message sender. *
* * @return* The message sender. *
*/ public Identity getSender() { return sender; } /** ** The message sender. *
* * @param sender* The message sender. *
*/ public void setSender(Identity sender) { this.sender = sender; } /** ** The message sender. *
** Returns a reference to this object so that method calls can be chained * together. * * @param sender
* The message sender. *
* @return A reference to this updated object so that method calls can be * chained together. */ public ChannelMessageSummary withSender(Identity sender) { this.sender = sender; return this; } /** ** Indicates whether a message was redacted. *
* * @return* Indicates whether a message was redacted. *
*/ public Boolean isRedacted() { return redacted; } /** ** Indicates whether a message was redacted. *
* * @return* Indicates whether a message was redacted. *
*/ public Boolean getRedacted() { return redacted; } /** ** Indicates whether a message was redacted. *
* * @param redacted* Indicates whether a message was redacted. *
*/ public void setRedacted(Boolean redacted) { this.redacted = redacted; } /** ** Indicates whether a message was redacted. *
** Returns a reference to this object so that method calls can be chained * together. * * @param redacted
* Indicates whether a message was redacted. *
* @return A reference to this updated object so that method calls can be * chained together. */ public ChannelMessageSummary withRedacted(Boolean redacted) { this.redacted = redacted; return this; } /** *
* The message status. The status value is SENT
for messages
* sent to a channel without a channel flow. For channels associated with
* channel flow, the value determines the processing stage.
*
* The message status. The status value is SENT
for
* messages sent to a channel without a channel flow. For channels
* associated with channel flow, the value determines the processing
* stage.
*
* The message status. The status value is SENT
for messages
* sent to a channel without a channel flow. For channels associated with
* channel flow, the value determines the processing stage.
*
* The message status. The status value is SENT
for
* messages sent to a channel without a channel flow. For
* channels associated with channel flow, the value determines
* the processing stage.
*
* The message status. The status value is SENT
for messages
* sent to a channel without a channel flow. For channels associated with
* channel flow, the value determines the processing stage.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param status
* The message status. The status value is SENT
for
* messages sent to a channel without a channel flow. For
* channels associated with channel flow, the value determines
* the processing stage.
*
* 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. *
* * @return* 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. *
*/ public java.util.Map* 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. *
* * @param 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. *
*/ public void setMessageAttributes(java.util.Map* 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param 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. *
* @return A reference to this updated object so that method calls can be * chained together. */ public ChannelMessageSummary withMessageAttributes( java.util.Map* 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. *
*
* The method adds a new key-value pair into MessageAttributes parameter,
* and returns a reference to this object so that method calls can be
* chained together.
*
* @param key The key of the entry to be added into MessageAttributes.
* @param value The corresponding value of the entry to be added into
* MessageAttributes.
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public ChannelMessageSummary addMessageAttributesEntry(String key, MessageAttributeValue value) {
if (null == this.messageAttributes) {
this.messageAttributes = new java.util.HashMap
* Returns a reference to this object so that method calls can be chained
* together.
*/
public ChannelMessageSummary clearMessageAttributesEntries() {
this.messageAttributes = null;
return this;
}
/**
*
* The content type of the channel message listed in the summary. For Amazon
* Lex V2 bot responses, the content type is
*
* Constraints:
* The content type of the channel message listed in the summary.
* For Amazon Lex V2 bot responses, the content type is
*
* The content type of the channel message listed in the summary. For Amazon
* Lex V2 bot responses, the content type is
*
* Constraints:
* The content type of the channel message listed in the summary.
* For Amazon Lex V2 bot responses, the content type is
*
* The content type of the channel message listed in the summary. For Amazon
* Lex V2 bot responses, the content type is
*
* Returns a reference to this object so that method calls can be chained
* together.
*
* Constraints:
* The content type of the channel message listed in the summary.
* For Amazon Lex V2 bot responses, the content type is
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param 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.
*
* 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.
*
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param 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.
* 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.
*
* Length: 0 - 45
* Pattern: [\s\S]*
*
* @return 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.
* 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.
*
* Length: 0 - 45
* Pattern: [\s\S]*
*
* @param contentType 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.
* 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.
*
* Length: 0 - 45
* Pattern: [\s\S]*
*
* @param contentType 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.
*