/* * Copyright 2010-2021 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.lexrts.model; import java.io.Serializable; public class PostContentResult implements Serializable { /** *
* Content type as specified in the Accept
HTTP header in the
* request.
*
* Current user intent that Amazon Lex is aware of. *
*/ private String intentName; /** ** Provides a score that indicates how confident Amazon Lex is that the * returned intent is the one that matches the user's intent. The score is * between 0.0 and 1.0. *
** The score is a relative score, not an absolute score. The score may * change based on improvements to Amazon Lex. *
*/ private String nluIntentConfidence; /** ** One to four alternative intents that may be applicable to the user's * intent. *
** Each alternative includes a score that indicates how confident Amazon Lex * is that the intent matches the user's intent. The intents are sorted by * the confidence score. *
*/ private String alternativeIntents; /** ** Map of zero or more intent slots (name/value pairs) Amazon Lex detected * from the user input during the conversation. The field is base-64 * encoded. *
*
* Amazon Lex creates a resolution list containing likely values for a slot.
* The value that it returns is determined by the
* valueSelectionStrategy
selected when the slot type was
* created or updated. If valueSelectionStrategy
is set to
* ORIGINAL_VALUE
, the value provided by the user is returned,
* if the user value is similar to the slot values. If
* valueSelectionStrategy
is set to TOP_RESOLUTION
* Amazon Lex returns the first value in the resolution list or, if there is
* no resolution list, null. If you don't specify a
* valueSelectionStrategy
, the default is
* ORIGINAL_VALUE
.
*
* Map of key/value pairs representing the session-specific context * information. *
*/ private String sessionAttributes; /** ** The sentiment expressed in an utterance. *
** When the bot is configured to send utterances to Amazon Comprehend for * sentiment analysis, this field contains the result of the analysis. *
*/ private String sentimentResponse; /** *
* You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419,
* es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the
* message
field is null. You should use the
* encodedMessage
field instead.
*
* The message to convey to the user. The message can come from the bot's * configuration or from a Lambda function. *
*
* If the intent is not configured with a Lambda function, or if the Lambda
* function returned Delegate
as the
* dialogAction.type
in its response, Amazon Lex decides on the
* next course of action and selects an appropriate message from the bot's
* configuration based on the current interaction context. For example, if
* Amazon Lex isn't able to understand user input, it uses a clarification
* prompt message.
*
* When you create an intent you can assign messages to groups. When * messages are assigned to groups Amazon Lex returns one message from each * group in the response. The message field is an escaped JSON string * containing the messages. For more information about the structure of the * JSON string returned, see msg-prompts-formats. *
** If the Lambda function returns a message, Amazon Lex passes it to the * client in its response. *
*
* Constraints:
* Length: 1 - 1024
*/
private String message;
/**
*
* The message to convey to the user. The message can come from the bot's * configuration or from a Lambda function. *
*
* If the intent is not configured with a Lambda function, or if the Lambda
* function returned Delegate
as the
* dialogAction.type
in its response, Amazon Lex decides on the
* next course of action and selects an appropriate message from the bot's
* configuration based on the current interaction context. For example, if
* Amazon Lex isn't able to understand user input, it uses a clarification
* prompt message.
*
* When you create an intent you can assign messages to groups. When * messages are assigned to groups Amazon Lex returns one message from each * group in the response. The message field is an escaped JSON string * containing the messages. For more information about the structure of the * JSON string returned, see msg-prompts-formats. *
** If the Lambda function returns a message, Amazon Lex passes it to the * client in its response. *
*
* The encodedMessage
field is base-64 encoded. You must decode
* the field before you can use the value.
*
* Constraints:
* Length: 1 - 1366
*/
private String encodedMessage;
/**
*
* The format of the response message. One of the following values: *
*
* PlainText
- The message contains plain UTF-8 text.
*
* CustomPayload
- The message is a custom format for the
* client.
*
* SSML
- The message contains text formatted for voice output.
*
* Composite
- The message contains an escaped JSON object
* containing one or more messages from the groups that messages were
* assigned to when the intent was created.
*
* Constraints:
* Allowed Values: PlainText, CustomPayload, SSML, Composite
*/
private String messageFormat;
/**
*
* Identifies the current state of the user interaction. Amazon Lex returns
* one of the following values as dialogState
. The client can
* optionally use this information to customize the user interface.
*
* ElicitIntent
- Amazon Lex wants to elicit the user's intent.
* Consider the following examples:
*
* For example, a user might utter an intent ("I want to order a pizza"). If * Amazon Lex cannot infer the user intent from this utterance, it will * return this dialog state. *
*
* ConfirmIntent
- Amazon Lex is expecting a "yes" or "no"
* response.
*
* For example, Amazon Lex wants user confirmation before fulfilling an * intent. Instead of a simple "yes" or "no" response, a user might respond * with additional information. For example, * "yes, but make it a thick crust pizza" or "no, I want to order a drink." * Amazon Lex can process such additional information (in these examples, * update the crust type slot or change the intent from OrderPizza to * OrderDrink). *
*
* ElicitSlot
- Amazon Lex is expecting the value of a slot for
* the current intent.
*
* For example, suppose that in the response Amazon Lex sends this message: * "What size pizza would you like?". A user might reply with the slot value * (e.g., "medium"). The user might also provide additional information in * the response (e.g., "medium thick crust pizza"). Amazon Lex can process * such additional information appropriately. *
*
* Fulfilled
- Conveys that the Lambda function has
* successfully fulfilled the intent.
*
* ReadyForFulfillment
- Conveys that the client has to fulfill
* the request.
*
* Failed
- Conveys that the conversation with the user failed.
*
* This can happen for various reasons, including that the user does not * provide an appropriate response to prompts from the service (you can * configure how many times Amazon Lex can prompt a user for specific * information), or if the Lambda function fails to fulfill the intent. *
*
* Constraints:
* Allowed Values: ElicitIntent, ConfirmIntent, ElicitSlot,
* Fulfilled, ReadyForFulfillment, Failed
*/
private String dialogState;
/**
*
* If the dialogState
value is ElicitSlot
, returns
* the name of the slot for which Amazon Lex is eliciting a value.
*
* The text used to process the request. *
*
* You can use this field only in the de-DE, en-AU, en-GB, en-US, es-419,
* es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the
* inputTranscript
field is null. You should use the
* encodedInputTranscript
field instead.
*
* If the input was an audio stream, the inputTranscript
field
* contains the text extracted from the audio stream. This is the text that
* is actually processed to recognize intents and slot values. You can use
* this information to determine if Amazon Lex is correctly processing the
* audio that you send.
*
* The text used to process the request. *
*
* If the input was an audio stream, the encodedInputTranscript
* field contains the text extracted from the audio stream. This is the text
* that is actually processed to recognize intents and slot values. You can
* use this information to determine if Amazon Lex is correctly processing
* the audio that you send.
*
* The encodedInputTranscript
field is base-64 encoded. You
* must decode the field before you can use the value.
*
* The prompt (or statement) to convey to the user. This is based on the bot
* configuration and context. For example, if Amazon Lex did not understand
* the user intent, it sends the clarificationPrompt
configured
* for the bot. If the intent requires confirmation before taking the
* fulfillment action, it sends the confirmationPrompt
. Another
* example: Suppose that the Lambda function successfully fulfilled the
* intent, and sent a message to convey to the user. Then Amazon Lex sends
* that message in the response.
*
* The version of the bot that responded to the conversation. You can use * this information to help determine if one version of a bot is performing * better than another version. *
*
* Constraints:
* Length: 1 - 64
* Pattern: [0-9]+|\$LATEST
*/
private String botVersion;
/**
*
* The unique identifier for the session. *
*/ private String sessionId; /** *
* A list of active contexts for the session. A context can be set when an
* intent is fulfilled or by calling the PostContent
,
* PostText
, or PutSession
operation.
*
* You can use a context to control the intents that can follow up an * intent, or to modify the operation of your application. *
*/ private String activeContexts; /** *
* Content type as specified in the Accept
HTTP header in the
* request.
*
* Content type as specified in the Accept
HTTP header
* in the request.
*
* Content type as specified in the Accept
HTTP header in the
* request.
*
* Content type as specified in the Accept
HTTP
* header in the request.
*
* Content type as specified in the Accept
HTTP header in the
* request.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param contentType
* Content type as specified in the Accept
HTTP
* header in the request.
*
* Current user intent that Amazon Lex is aware of. *
* * @return* Current user intent that Amazon Lex is aware of. *
*/ public String getIntentName() { return intentName; } /** ** Current user intent that Amazon Lex is aware of. *
* * @param intentName* Current user intent that Amazon Lex is aware of. *
*/ public void setIntentName(String intentName) { this.intentName = intentName; } /** ** Current user intent that Amazon Lex is aware of. *
** Returns a reference to this object so that method calls can be chained * together. * * @param intentName
* Current user intent that Amazon Lex is aware of. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentResult withIntentName(String intentName) { this.intentName = intentName; return this; } /** ** Provides a score that indicates how confident Amazon Lex is that the * returned intent is the one that matches the user's intent. The score is * between 0.0 and 1.0. *
** The score is a relative score, not an absolute score. The score may * change based on improvements to Amazon Lex. *
* * @return* Provides a score that indicates how confident Amazon Lex is that * the returned intent is the one that matches the user's intent. * The score is between 0.0 and 1.0. *
** The score is a relative score, not an absolute score. The score * may change based on improvements to Amazon Lex. *
*/ public String getNluIntentConfidence() { return nluIntentConfidence; } /** ** Provides a score that indicates how confident Amazon Lex is that the * returned intent is the one that matches the user's intent. The score is * between 0.0 and 1.0. *
** The score is a relative score, not an absolute score. The score may * change based on improvements to Amazon Lex. *
* * @param nluIntentConfidence* Provides a score that indicates how confident Amazon Lex is * that the returned intent is the one that matches the user's * intent. The score is between 0.0 and 1.0. *
** The score is a relative score, not an absolute score. The * score may change based on improvements to Amazon Lex. *
*/ public void setNluIntentConfidence(String nluIntentConfidence) { this.nluIntentConfidence = nluIntentConfidence; } /** ** Provides a score that indicates how confident Amazon Lex is that the * returned intent is the one that matches the user's intent. The score is * between 0.0 and 1.0. *
** The score is a relative score, not an absolute score. The score may * change based on improvements to Amazon Lex. *
** Returns a reference to this object so that method calls can be chained * together. * * @param nluIntentConfidence
* Provides a score that indicates how confident Amazon Lex is * that the returned intent is the one that matches the user's * intent. The score is between 0.0 and 1.0. *
** The score is a relative score, not an absolute score. The * score may change based on improvements to Amazon Lex. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentResult withNluIntentConfidence(String nluIntentConfidence) { this.nluIntentConfidence = nluIntentConfidence; return this; } /** ** One to four alternative intents that may be applicable to the user's * intent. *
** Each alternative includes a score that indicates how confident Amazon Lex * is that the intent matches the user's intent. The intents are sorted by * the confidence score. *
* * @return* One to four alternative intents that may be applicable to the * user's intent. *
** Each alternative includes a score that indicates how confident * Amazon Lex is that the intent matches the user's intent. The * intents are sorted by the confidence score. *
*/ public String getAlternativeIntents() { return alternativeIntents; } /** ** One to four alternative intents that may be applicable to the user's * intent. *
** Each alternative includes a score that indicates how confident Amazon Lex * is that the intent matches the user's intent. The intents are sorted by * the confidence score. *
* * @param alternativeIntents* One to four alternative intents that may be applicable to the * user's intent. *
** Each alternative includes a score that indicates how confident * Amazon Lex is that the intent matches the user's intent. The * intents are sorted by the confidence score. *
*/ public void setAlternativeIntents(String alternativeIntents) { this.alternativeIntents = alternativeIntents; } /** ** One to four alternative intents that may be applicable to the user's * intent. *
** Each alternative includes a score that indicates how confident Amazon Lex * is that the intent matches the user's intent. The intents are sorted by * the confidence score. *
** Returns a reference to this object so that method calls can be chained * together. * * @param alternativeIntents
* One to four alternative intents that may be applicable to the * user's intent. *
** Each alternative includes a score that indicates how confident * Amazon Lex is that the intent matches the user's intent. The * intents are sorted by the confidence score. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentResult withAlternativeIntents(String alternativeIntents) { this.alternativeIntents = alternativeIntents; return this; } /** ** Map of zero or more intent slots (name/value pairs) Amazon Lex detected * from the user input during the conversation. The field is base-64 * encoded. *
*
* Amazon Lex creates a resolution list containing likely values for a slot.
* The value that it returns is determined by the
* valueSelectionStrategy
selected when the slot type was
* created or updated. If valueSelectionStrategy
is set to
* ORIGINAL_VALUE
, the value provided by the user is returned,
* if the user value is similar to the slot values. If
* valueSelectionStrategy
is set to TOP_RESOLUTION
* Amazon Lex returns the first value in the resolution list or, if there is
* no resolution list, null. If you don't specify a
* valueSelectionStrategy
, the default is
* ORIGINAL_VALUE
.
*
* Map of zero or more intent slots (name/value pairs) Amazon Lex * detected from the user input during the conversation. The field * is base-64 encoded. *
*
* Amazon Lex creates a resolution list containing likely values for
* a slot. The value that it returns is determined by the
* valueSelectionStrategy
selected when the slot type
* was created or updated. If valueSelectionStrategy
is
* set to ORIGINAL_VALUE
, the value provided by the
* user is returned, if the user value is similar to the slot
* values. If valueSelectionStrategy
is set to
* TOP_RESOLUTION
Amazon Lex returns the first value in
* the resolution list or, if there is no resolution list, null. If
* you don't specify a valueSelectionStrategy
, the
* default is ORIGINAL_VALUE
.
*
* Map of zero or more intent slots (name/value pairs) Amazon Lex detected * from the user input during the conversation. The field is base-64 * encoded. *
*
* Amazon Lex creates a resolution list containing likely values for a slot.
* The value that it returns is determined by the
* valueSelectionStrategy
selected when the slot type was
* created or updated. If valueSelectionStrategy
is set to
* ORIGINAL_VALUE
, the value provided by the user is returned,
* if the user value is similar to the slot values. If
* valueSelectionStrategy
is set to TOP_RESOLUTION
* Amazon Lex returns the first value in the resolution list or, if there is
* no resolution list, null. If you don't specify a
* valueSelectionStrategy
, the default is
* ORIGINAL_VALUE
.
*
* Map of zero or more intent slots (name/value pairs) Amazon Lex * detected from the user input during the conversation. The * field is base-64 encoded. *
*
* Amazon Lex creates a resolution list containing likely values
* for a slot. The value that it returns is determined by the
* valueSelectionStrategy
selected when the slot
* type was created or updated. If
* valueSelectionStrategy
is set to
* ORIGINAL_VALUE
, the value provided by the user is
* returned, if the user value is similar to the slot values. If
* valueSelectionStrategy
is set to
* TOP_RESOLUTION
Amazon Lex returns the first value
* in the resolution list or, if there is no resolution list,
* null. If you don't specify a
* valueSelectionStrategy
, the default is
* ORIGINAL_VALUE
.
*
* Map of zero or more intent slots (name/value pairs) Amazon Lex detected * from the user input during the conversation. The field is base-64 * encoded. *
*
* Amazon Lex creates a resolution list containing likely values for a slot.
* The value that it returns is determined by the
* valueSelectionStrategy
selected when the slot type was
* created or updated. If valueSelectionStrategy
is set to
* ORIGINAL_VALUE
, the value provided by the user is returned,
* if the user value is similar to the slot values. If
* valueSelectionStrategy
is set to TOP_RESOLUTION
* Amazon Lex returns the first value in the resolution list or, if there is
* no resolution list, null. If you don't specify a
* valueSelectionStrategy
, the default is
* ORIGINAL_VALUE
.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param slots
* Map of zero or more intent slots (name/value pairs) Amazon Lex * detected from the user input during the conversation. The * field is base-64 encoded. *
*
* Amazon Lex creates a resolution list containing likely values
* for a slot. The value that it returns is determined by the
* valueSelectionStrategy
selected when the slot
* type was created or updated. If
* valueSelectionStrategy
is set to
* ORIGINAL_VALUE
, the value provided by the user is
* returned, if the user value is similar to the slot values. If
* valueSelectionStrategy
is set to
* TOP_RESOLUTION
Amazon Lex returns the first value
* in the resolution list or, if there is no resolution list,
* null. If you don't specify a
* valueSelectionStrategy
, the default is
* ORIGINAL_VALUE
.
*
* Map of key/value pairs representing the session-specific context * information. *
* * @return* Map of key/value pairs representing the session-specific context * information. *
*/ public String getSessionAttributes() { return sessionAttributes; } /** ** Map of key/value pairs representing the session-specific context * information. *
* * @param sessionAttributes* Map of key/value pairs representing the session-specific * context information. *
*/ public void setSessionAttributes(String sessionAttributes) { this.sessionAttributes = sessionAttributes; } /** ** Map of key/value pairs representing the session-specific context * information. *
** Returns a reference to this object so that method calls can be chained * together. * * @param sessionAttributes
* Map of key/value pairs representing the session-specific * context information. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentResult withSessionAttributes(String sessionAttributes) { this.sessionAttributes = sessionAttributes; return this; } /** ** The sentiment expressed in an utterance. *
** When the bot is configured to send utterances to Amazon Comprehend for * sentiment analysis, this field contains the result of the analysis. *
* * @return* The sentiment expressed in an utterance. *
** When the bot is configured to send utterances to Amazon * Comprehend for sentiment analysis, this field contains the result * of the analysis. *
*/ public String getSentimentResponse() { return sentimentResponse; } /** ** The sentiment expressed in an utterance. *
** When the bot is configured to send utterances to Amazon Comprehend for * sentiment analysis, this field contains the result of the analysis. *
* * @param sentimentResponse* The sentiment expressed in an utterance. *
** When the bot is configured to send utterances to Amazon * Comprehend for sentiment analysis, this field contains the * result of the analysis. *
*/ public void setSentimentResponse(String sentimentResponse) { this.sentimentResponse = sentimentResponse; } /** ** The sentiment expressed in an utterance. *
** When the bot is configured to send utterances to Amazon Comprehend for * sentiment analysis, this field contains the result of the analysis. *
** Returns a reference to this object so that method calls can be chained * together. * * @param sentimentResponse
* The sentiment expressed in an utterance. *
** When the bot is configured to send utterances to Amazon * Comprehend for sentiment analysis, this field contains the * result of the analysis. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentResult withSentimentResponse(String sentimentResponse) { this.sentimentResponse = sentimentResponse; return this; } /** *
* You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419,
* es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the
* message
field is null. You should use the
* encodedMessage
field instead.
*
* The message to convey to the user. The message can come from the bot's * configuration or from a Lambda function. *
*
* If the intent is not configured with a Lambda function, or if the Lambda
* function returned Delegate
as the
* dialogAction.type
in its response, Amazon Lex decides on the
* next course of action and selects an appropriate message from the bot's
* configuration based on the current interaction context. For example, if
* Amazon Lex isn't able to understand user input, it uses a clarification
* prompt message.
*
* When you create an intent you can assign messages to groups. When * messages are assigned to groups Amazon Lex returns one message from each * group in the response. The message field is an escaped JSON string * containing the messages. For more information about the structure of the * JSON string returned, see msg-prompts-formats. *
** If the Lambda function returns a message, Amazon Lex passes it to the * client in its response. *
*
* Constraints:
* Length: 1 - 1024
*
* @return
* You can only use this field in the de-DE, en-AU, en-GB, en-US,
* es-419, es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all
* other locales, the message
field is null. You should
* use the encodedMessage
field instead.
*
* The message to convey to the user. The message can come from the * bot's configuration or from a Lambda function. *
*
* If the intent is not configured with a Lambda function, or if the
* Lambda function returned Delegate
as the
* dialogAction.type
in its response, Amazon Lex
* decides on the next course of action and selects an appropriate
* message from the bot's configuration based on the current
* interaction context. For example, if Amazon Lex isn't able to
* understand user input, it uses a clarification prompt message.
*
* When you create an intent you can assign messages to groups. When * messages are assigned to groups Amazon Lex returns one message * from each group in the response. The message field is an escaped * JSON string containing the messages. For more information about * the structure of the JSON string returned, see * msg-prompts-formats. *
** If the Lambda function returns a message, Amazon Lex passes it to * the client in its response. *
*/ public String getMessage() { return message; } /** *
* You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419,
* es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the
* message
field is null. You should use the
* encodedMessage
field instead.
*
* The message to convey to the user. The message can come from the bot's * configuration or from a Lambda function. *
*
* If the intent is not configured with a Lambda function, or if the Lambda
* function returned Delegate
as the
* dialogAction.type
in its response, Amazon Lex decides on the
* next course of action and selects an appropriate message from the bot's
* configuration based on the current interaction context. For example, if
* Amazon Lex isn't able to understand user input, it uses a clarification
* prompt message.
*
* When you create an intent you can assign messages to groups. When * messages are assigned to groups Amazon Lex returns one message from each * group in the response. The message field is an escaped JSON string * containing the messages. For more information about the structure of the * JSON string returned, see msg-prompts-formats. *
** If the Lambda function returns a message, Amazon Lex passes it to the * client in its response. *
*
* Constraints:
* Length: 1 - 1024
*
* @param message
* You can only use this field in the de-DE, en-AU, en-GB, en-US,
* es-419, es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all
* other locales, the message
field is null. You
* should use the encodedMessage
field instead.
*
* The message to convey to the user. The message can come from * the bot's configuration or from a Lambda function. *
*
* If the intent is not configured with a Lambda function, or if
* the Lambda function returned Delegate
as the
* dialogAction.type
in its response, Amazon Lex
* decides on the next course of action and selects an
* appropriate message from the bot's configuration based on the
* current interaction context. For example, if Amazon Lex isn't
* able to understand user input, it uses a clarification prompt
* message.
*
* When you create an intent you can assign messages to groups. * When messages are assigned to groups Amazon Lex returns one * message from each group in the response. The message field is * an escaped JSON string containing the messages. For more * information about the structure of the JSON string returned, * see msg-prompts-formats. *
** If the Lambda function returns a message, Amazon Lex passes it * to the client in its response. *
*/ public void setMessage(String message) { this.message = message; } /** *
* You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419,
* es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the
* message
field is null. You should use the
* encodedMessage
field instead.
*
* The message to convey to the user. The message can come from the bot's * configuration or from a Lambda function. *
*
* If the intent is not configured with a Lambda function, or if the Lambda
* function returned Delegate
as the
* dialogAction.type
in its response, Amazon Lex decides on the
* next course of action and selects an appropriate message from the bot's
* configuration based on the current interaction context. For example, if
* Amazon Lex isn't able to understand user input, it uses a clarification
* prompt message.
*
* When you create an intent you can assign messages to groups. When * messages are assigned to groups Amazon Lex returns one message from each * group in the response. The message field is an escaped JSON string * containing the messages. For more information about the structure of the * JSON string returned, see msg-prompts-formats. *
** If the Lambda function returns a message, Amazon Lex passes it to the * client in its response. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 1024
*
* @param message
* You can only use this field in the de-DE, en-AU, en-GB, en-US,
* es-419, es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all
* other locales, the message
field is null. You
* should use the encodedMessage
field instead.
*
* The message to convey to the user. The message can come from * the bot's configuration or from a Lambda function. *
*
* If the intent is not configured with a Lambda function, or if
* the Lambda function returned Delegate
as the
* dialogAction.type
in its response, Amazon Lex
* decides on the next course of action and selects an
* appropriate message from the bot's configuration based on the
* current interaction context. For example, if Amazon Lex isn't
* able to understand user input, it uses a clarification prompt
* message.
*
* When you create an intent you can assign messages to groups. * When messages are assigned to groups Amazon Lex returns one * message from each group in the response. The message field is * an escaped JSON string containing the messages. For more * information about the structure of the JSON string returned, * see msg-prompts-formats. *
** If the Lambda function returns a message, Amazon Lex passes it * to the client in its response. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentResult withMessage(String message) { this.message = message; return this; } /** ** The message to convey to the user. The message can come from the bot's * configuration or from a Lambda function. *
*
* If the intent is not configured with a Lambda function, or if the Lambda
* function returned Delegate
as the
* dialogAction.type
in its response, Amazon Lex decides on the
* next course of action and selects an appropriate message from the bot's
* configuration based on the current interaction context. For example, if
* Amazon Lex isn't able to understand user input, it uses a clarification
* prompt message.
*
* When you create an intent you can assign messages to groups. When * messages are assigned to groups Amazon Lex returns one message from each * group in the response. The message field is an escaped JSON string * containing the messages. For more information about the structure of the * JSON string returned, see msg-prompts-formats. *
** If the Lambda function returns a message, Amazon Lex passes it to the * client in its response. *
*
* The encodedMessage
field is base-64 encoded. You must decode
* the field before you can use the value.
*
* Constraints:
* Length: 1 - 1366
*
* @return
* The message to convey to the user. The message can come from the * bot's configuration or from a Lambda function. *
*
* If the intent is not configured with a Lambda function, or if the
* Lambda function returned Delegate
as the
* dialogAction.type
in its response, Amazon Lex
* decides on the next course of action and selects an appropriate
* message from the bot's configuration based on the current
* interaction context. For example, if Amazon Lex isn't able to
* understand user input, it uses a clarification prompt message.
*
* When you create an intent you can assign messages to groups. When * messages are assigned to groups Amazon Lex returns one message * from each group in the response. The message field is an escaped * JSON string containing the messages. For more information about * the structure of the JSON string returned, see * msg-prompts-formats. *
** If the Lambda function returns a message, Amazon Lex passes it to * the client in its response. *
*
* The encodedMessage
field is base-64 encoded. You
* must decode the field before you can use the value.
*
* The message to convey to the user. The message can come from the bot's * configuration or from a Lambda function. *
*
* If the intent is not configured with a Lambda function, or if the Lambda
* function returned Delegate
as the
* dialogAction.type
in its response, Amazon Lex decides on the
* next course of action and selects an appropriate message from the bot's
* configuration based on the current interaction context. For example, if
* Amazon Lex isn't able to understand user input, it uses a clarification
* prompt message.
*
* When you create an intent you can assign messages to groups. When * messages are assigned to groups Amazon Lex returns one message from each * group in the response. The message field is an escaped JSON string * containing the messages. For more information about the structure of the * JSON string returned, see msg-prompts-formats. *
** If the Lambda function returns a message, Amazon Lex passes it to the * client in its response. *
*
* The encodedMessage
field is base-64 encoded. You must decode
* the field before you can use the value.
*
* Constraints:
* Length: 1 - 1366
*
* @param encodedMessage
* The message to convey to the user. The message can come from * the bot's configuration or from a Lambda function. *
*
* If the intent is not configured with a Lambda function, or if
* the Lambda function returned Delegate
as the
* dialogAction.type
in its response, Amazon Lex
* decides on the next course of action and selects an
* appropriate message from the bot's configuration based on the
* current interaction context. For example, if Amazon Lex isn't
* able to understand user input, it uses a clarification prompt
* message.
*
* When you create an intent you can assign messages to groups. * When messages are assigned to groups Amazon Lex returns one * message from each group in the response. The message field is * an escaped JSON string containing the messages. For more * information about the structure of the JSON string returned, * see msg-prompts-formats. *
** If the Lambda function returns a message, Amazon Lex passes it * to the client in its response. *
*
* The encodedMessage
field is base-64 encoded. You
* must decode the field before you can use the value.
*
* The message to convey to the user. The message can come from the bot's * configuration or from a Lambda function. *
*
* If the intent is not configured with a Lambda function, or if the Lambda
* function returned Delegate
as the
* dialogAction.type
in its response, Amazon Lex decides on the
* next course of action and selects an appropriate message from the bot's
* configuration based on the current interaction context. For example, if
* Amazon Lex isn't able to understand user input, it uses a clarification
* prompt message.
*
* When you create an intent you can assign messages to groups. When * messages are assigned to groups Amazon Lex returns one message from each * group in the response. The message field is an escaped JSON string * containing the messages. For more information about the structure of the * JSON string returned, see msg-prompts-formats. *
** If the Lambda function returns a message, Amazon Lex passes it to the * client in its response. *
*
* The encodedMessage
field is base-64 encoded. You must decode
* the field before you can use the value.
*
* Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 1366
*
* @param encodedMessage
* The message to convey to the user. The message can come from * the bot's configuration or from a Lambda function. *
*
* If the intent is not configured with a Lambda function, or if
* the Lambda function returned Delegate
as the
* dialogAction.type
in its response, Amazon Lex
* decides on the next course of action and selects an
* appropriate message from the bot's configuration based on the
* current interaction context. For example, if Amazon Lex isn't
* able to understand user input, it uses a clarification prompt
* message.
*
* When you create an intent you can assign messages to groups. * When messages are assigned to groups Amazon Lex returns one * message from each group in the response. The message field is * an escaped JSON string containing the messages. For more * information about the structure of the JSON string returned, * see msg-prompts-formats. *
** If the Lambda function returns a message, Amazon Lex passes it * to the client in its response. *
*
* The encodedMessage
field is base-64 encoded. You
* must decode the field before you can use the value.
*
* The format of the response message. One of the following values: *
*
* PlainText
- The message contains plain UTF-8 text.
*
* CustomPayload
- The message is a custom format for the
* client.
*
* SSML
- The message contains text formatted for voice output.
*
* Composite
- The message contains an escaped JSON object
* containing one or more messages from the groups that messages were
* assigned to when the intent was created.
*
* Constraints:
* Allowed Values: PlainText, CustomPayload, SSML, Composite
*
* @return
* The format of the response message. One of the following values: *
*
* PlainText
- The message contains plain UTF-8 text.
*
* CustomPayload
- The message is a custom format for
* the client.
*
* SSML
- The message contains text formatted for voice
* output.
*
* Composite
- The message contains an escaped JSON
* object containing one or more messages from the groups that
* messages were assigned to when the intent was created.
*
* The format of the response message. One of the following values: *
*
* PlainText
- The message contains plain UTF-8 text.
*
* CustomPayload
- The message is a custom format for the
* client.
*
* SSML
- The message contains text formatted for voice output.
*
* Composite
- The message contains an escaped JSON object
* containing one or more messages from the groups that messages were
* assigned to when the intent was created.
*
* Constraints:
* Allowed Values: PlainText, CustomPayload, SSML, Composite
*
* @param messageFormat
* The format of the response message. One of the following * values: *
*
* PlainText
- The message contains plain UTF-8
* text.
*
* CustomPayload
- The message is a custom format
* for the client.
*
* SSML
- The message contains text formatted for
* voice output.
*
* Composite
- The message contains an escaped JSON
* object containing one or more messages from the groups that
* messages were assigned to when the intent was created.
*
* The format of the response message. One of the following values: *
*
* PlainText
- The message contains plain UTF-8 text.
*
* CustomPayload
- The message is a custom format for the
* client.
*
* SSML
- The message contains text formatted for voice output.
*
* Composite
- The message contains an escaped JSON object
* containing one or more messages from the groups that messages were
* assigned to when the intent was created.
*
* Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: PlainText, CustomPayload, SSML, Composite
*
* @param messageFormat
* The format of the response message. One of the following * values: *
*
* PlainText
- The message contains plain UTF-8
* text.
*
* CustomPayload
- The message is a custom format
* for the client.
*
* SSML
- The message contains text formatted for
* voice output.
*
* Composite
- The message contains an escaped JSON
* object containing one or more messages from the groups that
* messages were assigned to when the intent was created.
*
* The format of the response message. One of the following values: *
*
* PlainText
- The message contains plain UTF-8 text.
*
* CustomPayload
- The message is a custom format for the
* client.
*
* SSML
- The message contains text formatted for voice output.
*
* Composite
- The message contains an escaped JSON object
* containing one or more messages from the groups that messages were
* assigned to when the intent was created.
*
* Constraints:
* Allowed Values: PlainText, CustomPayload, SSML, Composite
*
* @param messageFormat
* The format of the response message. One of the following * values: *
*
* PlainText
- The message contains plain UTF-8
* text.
*
* CustomPayload
- The message is a custom format
* for the client.
*
* SSML
- The message contains text formatted for
* voice output.
*
* Composite
- The message contains an escaped JSON
* object containing one or more messages from the groups that
* messages were assigned to when the intent was created.
*
* The format of the response message. One of the following values: *
*
* PlainText
- The message contains plain UTF-8 text.
*
* CustomPayload
- The message is a custom format for the
* client.
*
* SSML
- The message contains text formatted for voice output.
*
* Composite
- The message contains an escaped JSON object
* containing one or more messages from the groups that messages were
* assigned to when the intent was created.
*
* Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: PlainText, CustomPayload, SSML, Composite
*
* @param messageFormat
* The format of the response message. One of the following * values: *
*
* PlainText
- The message contains plain UTF-8
* text.
*
* CustomPayload
- The message is a custom format
* for the client.
*
* SSML
- The message contains text formatted for
* voice output.
*
* Composite
- The message contains an escaped JSON
* object containing one or more messages from the groups that
* messages were assigned to when the intent was created.
*
* Identifies the current state of the user interaction. Amazon Lex returns
* one of the following values as dialogState
. The client can
* optionally use this information to customize the user interface.
*
* ElicitIntent
- Amazon Lex wants to elicit the user's intent.
* Consider the following examples:
*
* For example, a user might utter an intent ("I want to order a pizza"). If * Amazon Lex cannot infer the user intent from this utterance, it will * return this dialog state. *
*
* ConfirmIntent
- Amazon Lex is expecting a "yes" or "no"
* response.
*
* For example, Amazon Lex wants user confirmation before fulfilling an * intent. Instead of a simple "yes" or "no" response, a user might respond * with additional information. For example, * "yes, but make it a thick crust pizza" or "no, I want to order a drink." * Amazon Lex can process such additional information (in these examples, * update the crust type slot or change the intent from OrderPizza to * OrderDrink). *
*
* ElicitSlot
- Amazon Lex is expecting the value of a slot for
* the current intent.
*
* For example, suppose that in the response Amazon Lex sends this message: * "What size pizza would you like?". A user might reply with the slot value * (e.g., "medium"). The user might also provide additional information in * the response (e.g., "medium thick crust pizza"). Amazon Lex can process * such additional information appropriately. *
*
* Fulfilled
- Conveys that the Lambda function has
* successfully fulfilled the intent.
*
* ReadyForFulfillment
- Conveys that the client has to fulfill
* the request.
*
* Failed
- Conveys that the conversation with the user failed.
*
* This can happen for various reasons, including that the user does not * provide an appropriate response to prompts from the service (you can * configure how many times Amazon Lex can prompt a user for specific * information), or if the Lambda function fails to fulfill the intent. *
*
* Constraints:
* Allowed Values: ElicitIntent, ConfirmIntent, ElicitSlot,
* Fulfilled, ReadyForFulfillment, Failed
*
* @return
* Identifies the current state of the user interaction. Amazon Lex
* returns one of the following values as dialogState
.
* The client can optionally use this information to customize the
* user interface.
*
* ElicitIntent
- Amazon Lex wants to elicit the user's
* intent. Consider the following examples:
*
* For example, a user might utter an intent * ("I want to order a pizza"). If Amazon Lex cannot infer the user * intent from this utterance, it will return this dialog state. *
*
* ConfirmIntent
- Amazon Lex is expecting a "yes" or
* "no" response.
*
* For example, Amazon Lex wants user confirmation before fulfilling * an intent. Instead of a simple "yes" or "no" response, a user * might respond with additional information. For example, * "yes, but make it a thick crust pizza" or * "no, I want to order a drink." Amazon Lex can process such * additional information (in these examples, update the crust type * slot or change the intent from OrderPizza to OrderDrink). *
*
* ElicitSlot
- Amazon Lex is expecting the value of a
* slot for the current intent.
*
* For example, suppose that in the response Amazon Lex sends this * message: "What size pizza would you like?". A user might reply * with the slot value (e.g., "medium"). The user might also provide * additional information in the response (e.g., * "medium thick crust pizza"). Amazon Lex can process such * additional information appropriately. *
*
* Fulfilled
- Conveys that the Lambda function has
* successfully fulfilled the intent.
*
* ReadyForFulfillment
- Conveys that the client has to
* fulfill the request.
*
* Failed
- Conveys that the conversation with the user
* failed.
*
* This can happen for various reasons, including that the user does * not provide an appropriate response to prompts from the service * (you can configure how many times Amazon Lex can prompt a user * for specific information), or if the Lambda function fails to * fulfill the intent. *
*
* Identifies the current state of the user interaction. Amazon Lex returns
* one of the following values as dialogState
. The client can
* optionally use this information to customize the user interface.
*
* ElicitIntent
- Amazon Lex wants to elicit the user's intent.
* Consider the following examples:
*
* For example, a user might utter an intent ("I want to order a pizza"). If * Amazon Lex cannot infer the user intent from this utterance, it will * return this dialog state. *
*
* ConfirmIntent
- Amazon Lex is expecting a "yes" or "no"
* response.
*
* For example, Amazon Lex wants user confirmation before fulfilling an * intent. Instead of a simple "yes" or "no" response, a user might respond * with additional information. For example, * "yes, but make it a thick crust pizza" or "no, I want to order a drink." * Amazon Lex can process such additional information (in these examples, * update the crust type slot or change the intent from OrderPizza to * OrderDrink). *
*
* ElicitSlot
- Amazon Lex is expecting the value of a slot for
* the current intent.
*
* For example, suppose that in the response Amazon Lex sends this message: * "What size pizza would you like?". A user might reply with the slot value * (e.g., "medium"). The user might also provide additional information in * the response (e.g., "medium thick crust pizza"). Amazon Lex can process * such additional information appropriately. *
*
* Fulfilled
- Conveys that the Lambda function has
* successfully fulfilled the intent.
*
* ReadyForFulfillment
- Conveys that the client has to fulfill
* the request.
*
* Failed
- Conveys that the conversation with the user failed.
*
* This can happen for various reasons, including that the user does not * provide an appropriate response to prompts from the service (you can * configure how many times Amazon Lex can prompt a user for specific * information), or if the Lambda function fails to fulfill the intent. *
*
* Constraints:
* Allowed Values: ElicitIntent, ConfirmIntent, ElicitSlot,
* Fulfilled, ReadyForFulfillment, Failed
*
* @param dialogState
* Identifies the current state of the user interaction. Amazon
* Lex returns one of the following values as
* dialogState
. The client can optionally use this
* information to customize the user interface.
*
* ElicitIntent
- Amazon Lex wants to elicit the
* user's intent. Consider the following examples:
*
* For example, a user might utter an intent * ("I want to order a pizza"). If Amazon Lex cannot infer the * user intent from this utterance, it will return this dialog * state. *
*
* ConfirmIntent
- Amazon Lex is expecting a "yes"
* or "no" response.
*
* For example, Amazon Lex wants user confirmation before * fulfilling an intent. Instead of a simple "yes" or "no" * response, a user might respond with additional information. * For example, "yes, but make it a thick crust pizza" or * "no, I want to order a drink." Amazon Lex can process such * additional information (in these examples, update the crust * type slot or change the intent from OrderPizza to OrderDrink). *
*
* ElicitSlot
- Amazon Lex is expecting the value of
* a slot for the current intent.
*
* For example, suppose that in the response Amazon Lex sends * this message: "What size pizza would you like?". A user might * reply with the slot value (e.g., "medium"). The user might * also provide additional information in the response (e.g., * "medium thick crust pizza"). Amazon Lex can process such * additional information appropriately. *
*
* Fulfilled
- Conveys that the Lambda function has
* successfully fulfilled the intent.
*
* ReadyForFulfillment
- Conveys that the client has
* to fulfill the request.
*
* Failed
- Conveys that the conversation with the
* user failed.
*
* This can happen for various reasons, including that the user * does not provide an appropriate response to prompts from the * service (you can configure how many times Amazon Lex can * prompt a user for specific information), or if the Lambda * function fails to fulfill the intent. *
*
* Identifies the current state of the user interaction. Amazon Lex returns
* one of the following values as dialogState
. The client can
* optionally use this information to customize the user interface.
*
* ElicitIntent
- Amazon Lex wants to elicit the user's intent.
* Consider the following examples:
*
* For example, a user might utter an intent ("I want to order a pizza"). If * Amazon Lex cannot infer the user intent from this utterance, it will * return this dialog state. *
*
* ConfirmIntent
- Amazon Lex is expecting a "yes" or "no"
* response.
*
* For example, Amazon Lex wants user confirmation before fulfilling an * intent. Instead of a simple "yes" or "no" response, a user might respond * with additional information. For example, * "yes, but make it a thick crust pizza" or "no, I want to order a drink." * Amazon Lex can process such additional information (in these examples, * update the crust type slot or change the intent from OrderPizza to * OrderDrink). *
*
* ElicitSlot
- Amazon Lex is expecting the value of a slot for
* the current intent.
*
* For example, suppose that in the response Amazon Lex sends this message: * "What size pizza would you like?". A user might reply with the slot value * (e.g., "medium"). The user might also provide additional information in * the response (e.g., "medium thick crust pizza"). Amazon Lex can process * such additional information appropriately. *
*
* Fulfilled
- Conveys that the Lambda function has
* successfully fulfilled the intent.
*
* ReadyForFulfillment
- Conveys that the client has to fulfill
* the request.
*
* Failed
- Conveys that the conversation with the user failed.
*
* This can happen for various reasons, including that the user does not * provide an appropriate response to prompts from the service (you can * configure how many times Amazon Lex can prompt a user for specific * information), or if the Lambda function fails to fulfill the intent. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: ElicitIntent, ConfirmIntent, ElicitSlot,
* Fulfilled, ReadyForFulfillment, Failed
*
* @param dialogState
* Identifies the current state of the user interaction. Amazon
* Lex returns one of the following values as
* dialogState
. The client can optionally use this
* information to customize the user interface.
*
* ElicitIntent
- Amazon Lex wants to elicit the
* user's intent. Consider the following examples:
*
* For example, a user might utter an intent * ("I want to order a pizza"). If Amazon Lex cannot infer the * user intent from this utterance, it will return this dialog * state. *
*
* ConfirmIntent
- Amazon Lex is expecting a "yes"
* or "no" response.
*
* For example, Amazon Lex wants user confirmation before * fulfilling an intent. Instead of a simple "yes" or "no" * response, a user might respond with additional information. * For example, "yes, but make it a thick crust pizza" or * "no, I want to order a drink." Amazon Lex can process such * additional information (in these examples, update the crust * type slot or change the intent from OrderPizza to OrderDrink). *
*
* ElicitSlot
- Amazon Lex is expecting the value of
* a slot for the current intent.
*
* For example, suppose that in the response Amazon Lex sends * this message: "What size pizza would you like?". A user might * reply with the slot value (e.g., "medium"). The user might * also provide additional information in the response (e.g., * "medium thick crust pizza"). Amazon Lex can process such * additional information appropriately. *
*
* Fulfilled
- Conveys that the Lambda function has
* successfully fulfilled the intent.
*
* ReadyForFulfillment
- Conveys that the client has
* to fulfill the request.
*
* Failed
- Conveys that the conversation with the
* user failed.
*
* This can happen for various reasons, including that the user * does not provide an appropriate response to prompts from the * service (you can configure how many times Amazon Lex can * prompt a user for specific information), or if the Lambda * function fails to fulfill the intent. *
*
* Identifies the current state of the user interaction. Amazon Lex returns
* one of the following values as dialogState
. The client can
* optionally use this information to customize the user interface.
*
* ElicitIntent
- Amazon Lex wants to elicit the user's intent.
* Consider the following examples:
*
* For example, a user might utter an intent ("I want to order a pizza"). If * Amazon Lex cannot infer the user intent from this utterance, it will * return this dialog state. *
*
* ConfirmIntent
- Amazon Lex is expecting a "yes" or "no"
* response.
*
* For example, Amazon Lex wants user confirmation before fulfilling an * intent. Instead of a simple "yes" or "no" response, a user might respond * with additional information. For example, * "yes, but make it a thick crust pizza" or "no, I want to order a drink." * Amazon Lex can process such additional information (in these examples, * update the crust type slot or change the intent from OrderPizza to * OrderDrink). *
*
* ElicitSlot
- Amazon Lex is expecting the value of a slot for
* the current intent.
*
* For example, suppose that in the response Amazon Lex sends this message: * "What size pizza would you like?". A user might reply with the slot value * (e.g., "medium"). The user might also provide additional information in * the response (e.g., "medium thick crust pizza"). Amazon Lex can process * such additional information appropriately. *
*
* Fulfilled
- Conveys that the Lambda function has
* successfully fulfilled the intent.
*
* ReadyForFulfillment
- Conveys that the client has to fulfill
* the request.
*
* Failed
- Conveys that the conversation with the user failed.
*
* This can happen for various reasons, including that the user does not * provide an appropriate response to prompts from the service (you can * configure how many times Amazon Lex can prompt a user for specific * information), or if the Lambda function fails to fulfill the intent. *
*
* Constraints:
* Allowed Values: ElicitIntent, ConfirmIntent, ElicitSlot,
* Fulfilled, ReadyForFulfillment, Failed
*
* @param dialogState
* Identifies the current state of the user interaction. Amazon
* Lex returns one of the following values as
* dialogState
. The client can optionally use this
* information to customize the user interface.
*
* ElicitIntent
- Amazon Lex wants to elicit the
* user's intent. Consider the following examples:
*
* For example, a user might utter an intent * ("I want to order a pizza"). If Amazon Lex cannot infer the * user intent from this utterance, it will return this dialog * state. *
*
* ConfirmIntent
- Amazon Lex is expecting a "yes"
* or "no" response.
*
* For example, Amazon Lex wants user confirmation before * fulfilling an intent. Instead of a simple "yes" or "no" * response, a user might respond with additional information. * For example, "yes, but make it a thick crust pizza" or * "no, I want to order a drink." Amazon Lex can process such * additional information (in these examples, update the crust * type slot or change the intent from OrderPizza to OrderDrink). *
*
* ElicitSlot
- Amazon Lex is expecting the value of
* a slot for the current intent.
*
* For example, suppose that in the response Amazon Lex sends * this message: "What size pizza would you like?". A user might * reply with the slot value (e.g., "medium"). The user might * also provide additional information in the response (e.g., * "medium thick crust pizza"). Amazon Lex can process such * additional information appropriately. *
*
* Fulfilled
- Conveys that the Lambda function has
* successfully fulfilled the intent.
*
* ReadyForFulfillment
- Conveys that the client has
* to fulfill the request.
*
* Failed
- Conveys that the conversation with the
* user failed.
*
* This can happen for various reasons, including that the user * does not provide an appropriate response to prompts from the * service (you can configure how many times Amazon Lex can * prompt a user for specific information), or if the Lambda * function fails to fulfill the intent. *
*
* Identifies the current state of the user interaction. Amazon Lex returns
* one of the following values as dialogState
. The client can
* optionally use this information to customize the user interface.
*
* ElicitIntent
- Amazon Lex wants to elicit the user's intent.
* Consider the following examples:
*
* For example, a user might utter an intent ("I want to order a pizza"). If * Amazon Lex cannot infer the user intent from this utterance, it will * return this dialog state. *
*
* ConfirmIntent
- Amazon Lex is expecting a "yes" or "no"
* response.
*
* For example, Amazon Lex wants user confirmation before fulfilling an * intent. Instead of a simple "yes" or "no" response, a user might respond * with additional information. For example, * "yes, but make it a thick crust pizza" or "no, I want to order a drink." * Amazon Lex can process such additional information (in these examples, * update the crust type slot or change the intent from OrderPizza to * OrderDrink). *
*
* ElicitSlot
- Amazon Lex is expecting the value of a slot for
* the current intent.
*
* For example, suppose that in the response Amazon Lex sends this message: * "What size pizza would you like?". A user might reply with the slot value * (e.g., "medium"). The user might also provide additional information in * the response (e.g., "medium thick crust pizza"). Amazon Lex can process * such additional information appropriately. *
*
* Fulfilled
- Conveys that the Lambda function has
* successfully fulfilled the intent.
*
* ReadyForFulfillment
- Conveys that the client has to fulfill
* the request.
*
* Failed
- Conveys that the conversation with the user failed.
*
* This can happen for various reasons, including that the user does not * provide an appropriate response to prompts from the service (you can * configure how many times Amazon Lex can prompt a user for specific * information), or if the Lambda function fails to fulfill the intent. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: ElicitIntent, ConfirmIntent, ElicitSlot,
* Fulfilled, ReadyForFulfillment, Failed
*
* @param dialogState
* Identifies the current state of the user interaction. Amazon
* Lex returns one of the following values as
* dialogState
. The client can optionally use this
* information to customize the user interface.
*
* ElicitIntent
- Amazon Lex wants to elicit the
* user's intent. Consider the following examples:
*
* For example, a user might utter an intent * ("I want to order a pizza"). If Amazon Lex cannot infer the * user intent from this utterance, it will return this dialog * state. *
*
* ConfirmIntent
- Amazon Lex is expecting a "yes"
* or "no" response.
*
* For example, Amazon Lex wants user confirmation before * fulfilling an intent. Instead of a simple "yes" or "no" * response, a user might respond with additional information. * For example, "yes, but make it a thick crust pizza" or * "no, I want to order a drink." Amazon Lex can process such * additional information (in these examples, update the crust * type slot or change the intent from OrderPizza to OrderDrink). *
*
* ElicitSlot
- Amazon Lex is expecting the value of
* a slot for the current intent.
*
* For example, suppose that in the response Amazon Lex sends * this message: "What size pizza would you like?". A user might * reply with the slot value (e.g., "medium"). The user might * also provide additional information in the response (e.g., * "medium thick crust pizza"). Amazon Lex can process such * additional information appropriately. *
*
* Fulfilled
- Conveys that the Lambda function has
* successfully fulfilled the intent.
*
* ReadyForFulfillment
- Conveys that the client has
* to fulfill the request.
*
* Failed
- Conveys that the conversation with the
* user failed.
*
* This can happen for various reasons, including that the user * does not provide an appropriate response to prompts from the * service (you can configure how many times Amazon Lex can * prompt a user for specific information), or if the Lambda * function fails to fulfill the intent. *
*
* If the dialogState
value is ElicitSlot
, returns
* the name of the slot for which Amazon Lex is eliciting a value.
*
* If the dialogState
value is ElicitSlot
,
* returns the name of the slot for which Amazon Lex is eliciting a
* value.
*
* If the dialogState
value is ElicitSlot
, returns
* the name of the slot for which Amazon Lex is eliciting a value.
*
* If the dialogState
value is
* ElicitSlot
, returns the name of the slot for
* which Amazon Lex is eliciting a value.
*
* If the dialogState
value is ElicitSlot
, returns
* the name of the slot for which Amazon Lex is eliciting a value.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param slotToElicit
* If the dialogState
value is
* ElicitSlot
, returns the name of the slot for
* which Amazon Lex is eliciting a value.
*
* The text used to process the request. *
*
* You can use this field only in the de-DE, en-AU, en-GB, en-US, es-419,
* es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the
* inputTranscript
field is null. You should use the
* encodedInputTranscript
field instead.
*
* If the input was an audio stream, the inputTranscript
field
* contains the text extracted from the audio stream. This is the text that
* is actually processed to recognize intents and slot values. You can use
* this information to determine if Amazon Lex is correctly processing the
* audio that you send.
*
* The text used to process the request. *
*
* You can use this field only in the de-DE, en-AU, en-GB, en-US,
* es-419, es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all
* other locales, the inputTranscript
field is null.
* You should use the encodedInputTranscript
field
* instead.
*
* If the input was an audio stream, the
* inputTranscript
field contains the text extracted
* from the audio stream. This is the text that is actually
* processed to recognize intents and slot values. You can use this
* information to determine if Amazon Lex is correctly processing
* the audio that you send.
*
* The text used to process the request. *
*
* You can use this field only in the de-DE, en-AU, en-GB, en-US, es-419,
* es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the
* inputTranscript
field is null. You should use the
* encodedInputTranscript
field instead.
*
* If the input was an audio stream, the inputTranscript
field
* contains the text extracted from the audio stream. This is the text that
* is actually processed to recognize intents and slot values. You can use
* this information to determine if Amazon Lex is correctly processing the
* audio that you send.
*
* The text used to process the request. *
*
* You can use this field only in the de-DE, en-AU, en-GB, en-US,
* es-419, es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all
* other locales, the inputTranscript
field is null.
* You should use the encodedInputTranscript
field
* instead.
*
* If the input was an audio stream, the
* inputTranscript
field contains the text extracted
* from the audio stream. This is the text that is actually
* processed to recognize intents and slot values. You can use
* this information to determine if Amazon Lex is correctly
* processing the audio that you send.
*
* The text used to process the request. *
*
* You can use this field only in the de-DE, en-AU, en-GB, en-US, es-419,
* es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the
* inputTranscript
field is null. You should use the
* encodedInputTranscript
field instead.
*
* If the input was an audio stream, the inputTranscript
field
* contains the text extracted from the audio stream. This is the text that
* is actually processed to recognize intents and slot values. You can use
* this information to determine if Amazon Lex is correctly processing the
* audio that you send.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param inputTranscript
* The text used to process the request. *
*
* You can use this field only in the de-DE, en-AU, en-GB, en-US,
* es-419, es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all
* other locales, the inputTranscript
field is null.
* You should use the encodedInputTranscript
field
* instead.
*
* If the input was an audio stream, the
* inputTranscript
field contains the text extracted
* from the audio stream. This is the text that is actually
* processed to recognize intents and slot values. You can use
* this information to determine if Amazon Lex is correctly
* processing the audio that you send.
*
* The text used to process the request. *
*
* If the input was an audio stream, the encodedInputTranscript
* field contains the text extracted from the audio stream. This is the text
* that is actually processed to recognize intents and slot values. You can
* use this information to determine if Amazon Lex is correctly processing
* the audio that you send.
*
* The encodedInputTranscript
field is base-64 encoded. You
* must decode the field before you can use the value.
*
* The text used to process the request. *
*
* If the input was an audio stream, the
* encodedInputTranscript
field contains the text
* extracted from the audio stream. This is the text that is
* actually processed to recognize intents and slot values. You can
* use this information to determine if Amazon Lex is correctly
* processing the audio that you send.
*
* The encodedInputTranscript
field is base-64 encoded.
* You must decode the field before you can use the value.
*
* The text used to process the request. *
*
* If the input was an audio stream, the encodedInputTranscript
* field contains the text extracted from the audio stream. This is the text
* that is actually processed to recognize intents and slot values. You can
* use this information to determine if Amazon Lex is correctly processing
* the audio that you send.
*
* The encodedInputTranscript
field is base-64 encoded. You
* must decode the field before you can use the value.
*
* The text used to process the request. *
*
* If the input was an audio stream, the
* encodedInputTranscript
field contains the text
* extracted from the audio stream. This is the text that is
* actually processed to recognize intents and slot values. You
* can use this information to determine if Amazon Lex is
* correctly processing the audio that you send.
*
* The encodedInputTranscript
field is base-64
* encoded. You must decode the field before you can use the
* value.
*
* The text used to process the request. *
*
* If the input was an audio stream, the encodedInputTranscript
* field contains the text extracted from the audio stream. This is the text
* that is actually processed to recognize intents and slot values. You can
* use this information to determine if Amazon Lex is correctly processing
* the audio that you send.
*
* The encodedInputTranscript
field is base-64 encoded. You
* must decode the field before you can use the value.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param encodedInputTranscript
* The text used to process the request. *
*
* If the input was an audio stream, the
* encodedInputTranscript
field contains the text
* extracted from the audio stream. This is the text that is
* actually processed to recognize intents and slot values. You
* can use this information to determine if Amazon Lex is
* correctly processing the audio that you send.
*
* The encodedInputTranscript
field is base-64
* encoded. You must decode the field before you can use the
* value.
*
* The prompt (or statement) to convey to the user. This is based on the bot
* configuration and context. For example, if Amazon Lex did not understand
* the user intent, it sends the clarificationPrompt
configured
* for the bot. If the intent requires confirmation before taking the
* fulfillment action, it sends the confirmationPrompt
. Another
* example: Suppose that the Lambda function successfully fulfilled the
* intent, and sent a message to convey to the user. Then Amazon Lex sends
* that message in the response.
*
* The prompt (or statement) to convey to the user. This is based on
* the bot configuration and context. For example, if Amazon Lex did
* not understand the user intent, it sends the
* clarificationPrompt
configured for the bot. If the
* intent requires confirmation before taking the fulfillment
* action, it sends the confirmationPrompt
. Another
* example: Suppose that the Lambda function successfully fulfilled
* the intent, and sent a message to convey to the user. Then Amazon
* Lex sends that message in the response.
*
* The prompt (or statement) to convey to the user. This is based on the bot
* configuration and context. For example, if Amazon Lex did not understand
* the user intent, it sends the clarificationPrompt
configured
* for the bot. If the intent requires confirmation before taking the
* fulfillment action, it sends the confirmationPrompt
. Another
* example: Suppose that the Lambda function successfully fulfilled the
* intent, and sent a message to convey to the user. Then Amazon Lex sends
* that message in the response.
*
* The prompt (or statement) to convey to the user. This is based
* on the bot configuration and context. For example, if Amazon
* Lex did not understand the user intent, it sends the
* clarificationPrompt
configured for the bot. If
* the intent requires confirmation before taking the fulfillment
* action, it sends the confirmationPrompt
. Another
* example: Suppose that the Lambda function successfully
* fulfilled the intent, and sent a message to convey to the
* user. Then Amazon Lex sends that message in the response.
*
* The prompt (or statement) to convey to the user. This is based on the bot
* configuration and context. For example, if Amazon Lex did not understand
* the user intent, it sends the clarificationPrompt
configured
* for the bot. If the intent requires confirmation before taking the
* fulfillment action, it sends the confirmationPrompt
. Another
* example: Suppose that the Lambda function successfully fulfilled the
* intent, and sent a message to convey to the user. Then Amazon Lex sends
* that message in the response.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param audioStream
* The prompt (or statement) to convey to the user. This is based
* on the bot configuration and context. For example, if Amazon
* Lex did not understand the user intent, it sends the
* clarificationPrompt
configured for the bot. If
* the intent requires confirmation before taking the fulfillment
* action, it sends the confirmationPrompt
. Another
* example: Suppose that the Lambda function successfully
* fulfilled the intent, and sent a message to convey to the
* user. Then Amazon Lex sends that message in the response.
*
* The version of the bot that responded to the conversation. You can use * this information to help determine if one version of a bot is performing * better than another version. *
*
* Constraints:
* Length: 1 - 64
* Pattern: [0-9]+|\$LATEST
*
* @return
* The version of the bot that responded to the conversation. You * can use this information to help determine if one version of a * bot is performing better than another version. *
*/ public String getBotVersion() { return botVersion; } /** ** The version of the bot that responded to the conversation. You can use * this information to help determine if one version of a bot is performing * better than another version. *
*
* Constraints:
* Length: 1 - 64
* Pattern: [0-9]+|\$LATEST
*
* @param botVersion
* The version of the bot that responded to the conversation. You * can use this information to help determine if one version of a * bot is performing better than another version. *
*/ public void setBotVersion(String botVersion) { this.botVersion = botVersion; } /** ** The version of the bot that responded to the conversation. You can use * this information to help determine if one version of a bot is performing * better than another version. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 64
* Pattern: [0-9]+|\$LATEST
*
* @param botVersion
* The version of the bot that responded to the conversation. You * can use this information to help determine if one version of a * bot is performing better than another version. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentResult withBotVersion(String botVersion) { this.botVersion = botVersion; return this; } /** ** The unique identifier for the session. *
* * @return* The unique identifier for the session. *
*/ public String getSessionId() { return sessionId; } /** ** The unique identifier for the session. *
* * @param sessionId* The unique identifier for the session. *
*/ public void setSessionId(String sessionId) { this.sessionId = sessionId; } /** ** The unique identifier for the session. *
** Returns a reference to this object so that method calls can be chained * together. * * @param sessionId
* The unique identifier for the session. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentResult withSessionId(String sessionId) { this.sessionId = sessionId; return this; } /** *
* A list of active contexts for the session. A context can be set when an
* intent is fulfilled or by calling the PostContent
,
* PostText
, or PutSession
operation.
*
* You can use a context to control the intents that can follow up an * intent, or to modify the operation of your application. *
* * @return
* A list of active contexts for the session. A context can be set
* when an intent is fulfilled or by calling the
* PostContent
, PostText
, or
* PutSession
operation.
*
* You can use a context to control the intents that can follow up * an intent, or to modify the operation of your application. *
*/ public String getActiveContexts() { return activeContexts; } /** *
* A list of active contexts for the session. A context can be set when an
* intent is fulfilled or by calling the PostContent
,
* PostText
, or PutSession
operation.
*
* You can use a context to control the intents that can follow up an * intent, or to modify the operation of your application. *
* * @param activeContexts
* A list of active contexts for the session. A context can be
* set when an intent is fulfilled or by calling the
* PostContent
, PostText
, or
* PutSession
operation.
*
* You can use a context to control the intents that can follow * up an intent, or to modify the operation of your application. *
*/ public void setActiveContexts(String activeContexts) { this.activeContexts = activeContexts; } /** *
* A list of active contexts for the session. A context can be set when an
* intent is fulfilled or by calling the PostContent
,
* PostText
, or PutSession
operation.
*
* You can use a context to control the intents that can follow up an * intent, or to modify the operation of your application. *
** Returns a reference to this object so that method calls can be chained * together. * * @param activeContexts
* A list of active contexts for the session. A context can be
* set when an intent is fulfilled or by calling the
* PostContent
, PostText
, or
* PutSession
operation.
*
* You can use a context to control the intents that can follow * up an intent, or to modify the operation of your application. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentResult withActiveContexts(String activeContexts) { this.activeContexts = activeContexts; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getContentType() != null) sb.append("contentType: " + getContentType() + ","); if (getIntentName() != null) sb.append("intentName: " + getIntentName() + ","); if (getNluIntentConfidence() != null) sb.append("nluIntentConfidence: " + getNluIntentConfidence() + ","); if (getAlternativeIntents() != null) sb.append("alternativeIntents: " + getAlternativeIntents() + ","); if (getSlots() != null) sb.append("slots: " + getSlots() + ","); if (getSessionAttributes() != null) sb.append("sessionAttributes: " + getSessionAttributes() + ","); if (getSentimentResponse() != null) sb.append("sentimentResponse: " + getSentimentResponse() + ","); if (getMessage() != null) sb.append("message: " + getMessage() + ","); if (getEncodedMessage() != null) sb.append("encodedMessage: " + getEncodedMessage() + ","); if (getMessageFormat() != null) sb.append("messageFormat: " + getMessageFormat() + ","); if (getDialogState() != null) sb.append("dialogState: " + getDialogState() + ","); if (getSlotToElicit() != null) sb.append("slotToElicit: " + getSlotToElicit() + ","); if (getInputTranscript() != null) sb.append("inputTranscript: " + getInputTranscript() + ","); if (getEncodedInputTranscript() != null) sb.append("encodedInputTranscript: " + getEncodedInputTranscript() + ","); if (getAudioStream() != null) sb.append("audioStream: " + getAudioStream() + ","); if (getBotVersion() != null) sb.append("botVersion: " + getBotVersion() + ","); if (getSessionId() != null) sb.append("sessionId: " + getSessionId() + ","); if (getActiveContexts() != null) sb.append("activeContexts: " + getActiveContexts()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getContentType() == null) ? 0 : getContentType().hashCode()); hashCode = prime * hashCode + ((getIntentName() == null) ? 0 : getIntentName().hashCode()); hashCode = prime * hashCode + ((getNluIntentConfidence() == null) ? 0 : getNluIntentConfidence().hashCode()); hashCode = prime * hashCode + ((getAlternativeIntents() == null) ? 0 : getAlternativeIntents().hashCode()); hashCode = prime * hashCode + ((getSlots() == null) ? 0 : getSlots().hashCode()); hashCode = prime * hashCode + ((getSessionAttributes() == null) ? 0 : getSessionAttributes().hashCode()); hashCode = prime * hashCode + ((getSentimentResponse() == null) ? 0 : getSentimentResponse().hashCode()); hashCode = prime * hashCode + ((getMessage() == null) ? 0 : getMessage().hashCode()); hashCode = prime * hashCode + ((getEncodedMessage() == null) ? 0 : getEncodedMessage().hashCode()); hashCode = prime * hashCode + ((getMessageFormat() == null) ? 0 : getMessageFormat().hashCode()); hashCode = prime * hashCode + ((getDialogState() == null) ? 0 : getDialogState().hashCode()); hashCode = prime * hashCode + ((getSlotToElicit() == null) ? 0 : getSlotToElicit().hashCode()); hashCode = prime * hashCode + ((getInputTranscript() == null) ? 0 : getInputTranscript().hashCode()); hashCode = prime * hashCode + ((getEncodedInputTranscript() == null) ? 0 : getEncodedInputTranscript() .hashCode()); hashCode = prime * hashCode + ((getAudioStream() == null) ? 0 : getAudioStream().hashCode()); hashCode = prime * hashCode + ((getBotVersion() == null) ? 0 : getBotVersion().hashCode()); hashCode = prime * hashCode + ((getSessionId() == null) ? 0 : getSessionId().hashCode()); hashCode = prime * hashCode + ((getActiveContexts() == null) ? 0 : getActiveContexts().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof PostContentResult == false) return false; PostContentResult other = (PostContentResult) obj; if (other.getContentType() == null ^ this.getContentType() == null) return false; if (other.getContentType() != null && other.getContentType().equals(this.getContentType()) == false) return false; if (other.getIntentName() == null ^ this.getIntentName() == null) return false; if (other.getIntentName() != null && other.getIntentName().equals(this.getIntentName()) == false) return false; if (other.getNluIntentConfidence() == null ^ this.getNluIntentConfidence() == null) return false; if (other.getNluIntentConfidence() != null && other.getNluIntentConfidence().equals(this.getNluIntentConfidence()) == false) return false; if (other.getAlternativeIntents() == null ^ this.getAlternativeIntents() == null) return false; if (other.getAlternativeIntents() != null && other.getAlternativeIntents().equals(this.getAlternativeIntents()) == false) return false; if (other.getSlots() == null ^ this.getSlots() == null) return false; if (other.getSlots() != null && other.getSlots().equals(this.getSlots()) == false) return false; if (other.getSessionAttributes() == null ^ this.getSessionAttributes() == null) return false; if (other.getSessionAttributes() != null && other.getSessionAttributes().equals(this.getSessionAttributes()) == false) return false; if (other.getSentimentResponse() == null ^ this.getSentimentResponse() == null) return false; if (other.getSentimentResponse() != null && other.getSentimentResponse().equals(this.getSentimentResponse()) == false) return false; if (other.getMessage() == null ^ this.getMessage() == null) return false; if (other.getMessage() != null && other.getMessage().equals(this.getMessage()) == false) return false; if (other.getEncodedMessage() == null ^ this.getEncodedMessage() == null) return false; if (other.getEncodedMessage() != null && other.getEncodedMessage().equals(this.getEncodedMessage()) == false) return false; if (other.getMessageFormat() == null ^ this.getMessageFormat() == null) return false; if (other.getMessageFormat() != null && other.getMessageFormat().equals(this.getMessageFormat()) == false) return false; if (other.getDialogState() == null ^ this.getDialogState() == null) return false; if (other.getDialogState() != null && other.getDialogState().equals(this.getDialogState()) == false) return false; if (other.getSlotToElicit() == null ^ this.getSlotToElicit() == null) return false; if (other.getSlotToElicit() != null && other.getSlotToElicit().equals(this.getSlotToElicit()) == false) return false; if (other.getInputTranscript() == null ^ this.getInputTranscript() == null) return false; if (other.getInputTranscript() != null && other.getInputTranscript().equals(this.getInputTranscript()) == false) return false; if (other.getEncodedInputTranscript() == null ^ this.getEncodedInputTranscript() == null) return false; if (other.getEncodedInputTranscript() != null && other.getEncodedInputTranscript().equals(this.getEncodedInputTranscript()) == false) return false; if (other.getAudioStream() == null ^ this.getAudioStream() == null) return false; if (other.getAudioStream() != null && other.getAudioStream().equals(this.getAudioStream()) == false) return false; if (other.getBotVersion() == null ^ this.getBotVersion() == null) return false; if (other.getBotVersion() != null && other.getBotVersion().equals(this.getBotVersion()) == false) return false; if (other.getSessionId() == null ^ this.getSessionId() == null) return false; if (other.getSessionId() != null && other.getSessionId().equals(this.getSessionId()) == false) return false; if (other.getActiveContexts() == null ^ this.getActiveContexts() == null) return false; if (other.getActiveContexts() != null && other.getActiveContexts().equals(this.getActiveContexts()) == false) return false; return true; } }