/* * 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; import com.amazonaws.AmazonWebServiceRequest; /** *
* Sends user input (text or speech) to Amazon Lex. Clients use this API to send * text and audio requests to Amazon Lex at runtime. Amazon Lex interprets the * user input using the machine learning model that it built for the bot. *
*
* The PostContent
operation supports audio input at 8kHz and
* 16kHz. You can use 8kHz audio to achieve higher speech recognition accuracy
* in telephone audio applications.
*
* In response, Amazon Lex returns the next message to convey to the user. * Consider the following example messages: *
*
* For a user input "I would like a pizza," Amazon Lex might return a response
* with a message eliciting slot data (for example, PizzaSize
):
* "What size pizza would you like?".
*
* After the user provides all of the pizza order information, Amazon Lex might * return a response with a message to get user confirmation: * "Order the pizza?". *
** After the user replies "Yes" to the confirmation prompt, Amazon Lex might * return a conclusion statement: * "Thank you, your cheese pizza has been ordered.". *
*
* Not all Amazon Lex messages require a response from the user. For example,
* conclusion statements do not require a response. Some messages require only a
* yes or no response. In addition to the message
, Amazon Lex
* provides additional context about the message in the response that you can
* use to enhance client behavior, such as displaying the appropriate client
* user interface. Consider the following examples:
*
* If the message is to elicit slot data, Amazon Lex returns the following * context information: *
*
* x-amz-lex-dialog-state
header set to ElicitSlot
*
* x-amz-lex-intent-name
header set to the intent name in the
* current context
*
* x-amz-lex-slot-to-elicit
header set to the slot name for which
* the message
is eliciting information
*
* x-amz-lex-slots
header set to a map of slots configured for the
* intent with their current values
*
* If the message is a confirmation prompt, the
* x-amz-lex-dialog-state
header is set to
* Confirmation
and the x-amz-lex-slot-to-elicit
* header is omitted.
*
* If the message is a clarification prompt configured for the intent,
* indicating that the user intent is not understood, the
* x-amz-dialog-state
header is set to ElicitIntent
* and the x-amz-slot-to-elicit
header is omitted.
*
* In addition, Amazon Lex also returns your application-specific
* sessionAttributes
. For more information, see Managing
* Conversation Context.
*
* Name of the Amazon Lex bot. *
*/ private String botName; /** ** Alias of the Amazon Lex bot. *
*/ private String botAlias; /** *
* The ID of the client application user. Amazon Lex uses this to identify a
* user's conversation with your bot. At runtime, each request must contain
* the userID
field.
*
* To decide the user ID to use for your application, consider the following * factors. *
*
* The userID
field must not contain any personally
* identifiable information of the user, for example, name, personal
* identification numbers, or other end user personal information.
*
* If you want a user to start a conversation on one device and continue on * another device, use a user-specific identifier. *
** If you want the same user to be able to have two independent * conversations on two different devices, choose a device-specific * identifier. *
** A user can't have two independent conversations with two different * versions of the same bot. For example, a user can't have a conversation * with the PROD and BETA versions of the same bot. If you anticipate that a * user will need to have conversation with two different versions, for * example, while testing, include the bot alias in the user ID to separate * the two conversations. *
*
* Constraints:
* Length: 2 - 100
* Pattern: [0-9a-zA-Z._:-]+
*/
private String userId;
/**
*
* You pass this value as the x-amz-lex-session-attributes
HTTP
* header.
*
* Application-specific information passed between Amazon Lex and a client
* application. The value must be a JSON serialized and base64 encoded map
* with string keys and values. The total size of the
* sessionAttributes
and requestAttributes
headers
* is limited to 12 KB.
*
* For more information, see Setting Session Attributes. *
*/ private String sessionAttributes; /** *
* You pass this value as the x-amz-lex-request-attributes
HTTP
* header.
*
* Request-specific information passed between Amazon Lex and a client
* application. The value must be a JSON serialized and base64 encoded map
* with string keys and values. The total size of the
* requestAttributes
and sessionAttributes
headers
* is limited to 12 KB.
*
* The namespace x-amz-lex:
is reserved for special attributes.
* Don't create any request attributes with the prefix
* x-amz-lex:
.
*
* For more information, see Setting Request Attributes. *
*/ private String requestAttributes; /** *
* You pass this value as the Content-Type
HTTP header.
*
* Indicates the audio format or text. The header value must start with one * of the following prefixes: *
** PCM format, audio data must be in little-endian byte order. *
** audio/l16; rate=16000; channels=1 *
** audio/x-l16; sample-rate=16000; channel-count=1 *
** audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; * is-big-endian=false *
** Opus format *
** audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000; * frame-size-milliseconds=4 *
** Text format *
** text/plain; charset=utf-8 *
*
* You pass this value as the Accept
HTTP header.
*
* The message Amazon Lex returns in the response can be either text or
* speech based on the Accept
HTTP header value in the request.
*
* If the value is text/plain; charset=utf-8
, Amazon Lex
* returns text in the response.
*
* If the value begins with audio/
, Amazon Lex returns speech
* in the response. Amazon Lex uses Amazon Polly to generate the speech
* (using the configuration you specified in the Accept
* header). For example, if you specify audio/mpeg
as the
* value, Amazon Lex returns speech in the MPEG format.
*
* If the value is audio/pcm
, the speech returned is
* audio/pcm
in 16-bit, little endian format.
*
* The following are the accepted values: *
** audio/mpeg *
** audio/ogg *
** audio/pcm *
** text/plain; charset=utf-8 *
** audio/* (defaults to mpeg) *
*
* User input in PCM or Opus audio format or text format as described in the
* Content-Type
HTTP header.
*
* You can stream audio data to Amazon Lex or you can create a local buffer * that captures all of the audio data before sending. In general, you get * better performance if you stream audio data rather than buffering the * data locally. *
*/ private java.io.InputStream inputStreamValue; /** ** A list of contexts active for the request. A context can be activated * when a previous intent is fulfilled, or by including the context in the * request, *
** If you don't specify a list of contexts, Amazon Lex will use the current * list of contexts for the session. If you specify an empty list, all * contexts for the session are cleared. *
*/ private String activeContexts; /** ** Name of the Amazon Lex bot. *
* * @return* Name of the Amazon Lex bot. *
*/ public String getBotName() { return botName; } /** ** Name of the Amazon Lex bot. *
* * @param botName* Name of the Amazon Lex bot. *
*/ public void setBotName(String botName) { this.botName = botName; } /** ** Name of the Amazon Lex bot. *
** Returns a reference to this object so that method calls can be chained * together. * * @param botName
* Name of the Amazon Lex bot. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentRequest withBotName(String botName) { this.botName = botName; return this; } /** ** Alias of the Amazon Lex bot. *
* * @return* Alias of the Amazon Lex bot. *
*/ public String getBotAlias() { return botAlias; } /** ** Alias of the Amazon Lex bot. *
* * @param botAlias* Alias of the Amazon Lex bot. *
*/ public void setBotAlias(String botAlias) { this.botAlias = botAlias; } /** ** Alias of the Amazon Lex bot. *
** Returns a reference to this object so that method calls can be chained * together. * * @param botAlias
* Alias of the Amazon Lex bot. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentRequest withBotAlias(String botAlias) { this.botAlias = botAlias; return this; } /** *
* The ID of the client application user. Amazon Lex uses this to identify a
* user's conversation with your bot. At runtime, each request must contain
* the userID
field.
*
* To decide the user ID to use for your application, consider the following * factors. *
*
* The userID
field must not contain any personally
* identifiable information of the user, for example, name, personal
* identification numbers, or other end user personal information.
*
* If you want a user to start a conversation on one device and continue on * another device, use a user-specific identifier. *
** If you want the same user to be able to have two independent * conversations on two different devices, choose a device-specific * identifier. *
** A user can't have two independent conversations with two different * versions of the same bot. For example, a user can't have a conversation * with the PROD and BETA versions of the same bot. If you anticipate that a * user will need to have conversation with two different versions, for * example, while testing, include the bot alias in the user ID to separate * the two conversations. *
*
* Constraints:
* Length: 2 - 100
* Pattern: [0-9a-zA-Z._:-]+
*
* @return
* The ID of the client application user. Amazon Lex uses this to
* identify a user's conversation with your bot. At runtime, each
* request must contain the userID
field.
*
* To decide the user ID to use for your application, consider the * following factors. *
*
* The userID
field must not contain any personally
* identifiable information of the user, for example, name, personal
* identification numbers, or other end user personal information.
*
* If you want a user to start a conversation on one device and * continue on another device, use a user-specific identifier. *
** If you want the same user to be able to have two independent * conversations on two different devices, choose a device-specific * identifier. *
** A user can't have two independent conversations with two * different versions of the same bot. For example, a user can't * have a conversation with the PROD and BETA versions of the same * bot. If you anticipate that a user will need to have conversation * with two different versions, for example, while testing, include * the bot alias in the user ID to separate the two conversations. *
*
* The ID of the client application user. Amazon Lex uses this to identify a
* user's conversation with your bot. At runtime, each request must contain
* the userID
field.
*
* To decide the user ID to use for your application, consider the following * factors. *
*
* The userID
field must not contain any personally
* identifiable information of the user, for example, name, personal
* identification numbers, or other end user personal information.
*
* If you want a user to start a conversation on one device and continue on * another device, use a user-specific identifier. *
** If you want the same user to be able to have two independent * conversations on two different devices, choose a device-specific * identifier. *
** A user can't have two independent conversations with two different * versions of the same bot. For example, a user can't have a conversation * with the PROD and BETA versions of the same bot. If you anticipate that a * user will need to have conversation with two different versions, for * example, while testing, include the bot alias in the user ID to separate * the two conversations. *
*
* Constraints:
* Length: 2 - 100
* Pattern: [0-9a-zA-Z._:-]+
*
* @param userId
* The ID of the client application user. Amazon Lex uses this to
* identify a user's conversation with your bot. At runtime, each
* request must contain the userID
field.
*
* To decide the user ID to use for your application, consider * the following factors. *
*
* The userID
field must not contain any personally
* identifiable information of the user, for example, name,
* personal identification numbers, or other end user personal
* information.
*
* If you want a user to start a conversation on one device and * continue on another device, use a user-specific identifier. *
** If you want the same user to be able to have two independent * conversations on two different devices, choose a * device-specific identifier. *
** A user can't have two independent conversations with two * different versions of the same bot. For example, a user can't * have a conversation with the PROD and BETA versions of the * same bot. If you anticipate that a user will need to have * conversation with two different versions, for example, while * testing, include the bot alias in the user ID to separate the * two conversations. *
*
* The ID of the client application user. Amazon Lex uses this to identify a
* user's conversation with your bot. At runtime, each request must contain
* the userID
field.
*
* To decide the user ID to use for your application, consider the following * factors. *
*
* The userID
field must not contain any personally
* identifiable information of the user, for example, name, personal
* identification numbers, or other end user personal information.
*
* If you want a user to start a conversation on one device and continue on * another device, use a user-specific identifier. *
** If you want the same user to be able to have two independent * conversations on two different devices, choose a device-specific * identifier. *
** A user can't have two independent conversations with two different * versions of the same bot. For example, a user can't have a conversation * with the PROD and BETA versions of the same bot. If you anticipate that a * user will need to have conversation with two different versions, for * example, while testing, include the bot alias in the user ID to separate * the two conversations. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 2 - 100
* Pattern: [0-9a-zA-Z._:-]+
*
* @param userId
* The ID of the client application user. Amazon Lex uses this to
* identify a user's conversation with your bot. At runtime, each
* request must contain the userID
field.
*
* To decide the user ID to use for your application, consider * the following factors. *
*
* The userID
field must not contain any personally
* identifiable information of the user, for example, name,
* personal identification numbers, or other end user personal
* information.
*
* If you want a user to start a conversation on one device and * continue on another device, use a user-specific identifier. *
** If you want the same user to be able to have two independent * conversations on two different devices, choose a * device-specific identifier. *
** A user can't have two independent conversations with two * different versions of the same bot. For example, a user can't * have a conversation with the PROD and BETA versions of the * same bot. If you anticipate that a user will need to have * conversation with two different versions, for example, while * testing, include the bot alias in the user ID to separate the * two conversations. *
*
* You pass this value as the x-amz-lex-session-attributes
HTTP
* header.
*
* Application-specific information passed between Amazon Lex and a client
* application. The value must be a JSON serialized and base64 encoded map
* with string keys and values. The total size of the
* sessionAttributes
and requestAttributes
headers
* is limited to 12 KB.
*
* For more information, see Setting Session Attributes. *
* * @return
* You pass this value as the
* x-amz-lex-session-attributes
HTTP header.
*
* Application-specific information passed between Amazon Lex and a
* client application. The value must be a JSON serialized and
* base64 encoded map with string keys and values. The total size of
* the sessionAttributes
and
* requestAttributes
headers is limited to 12 KB.
*
* For more information, see Setting Session Attributes. *
*/ public String getSessionAttributes() { return sessionAttributes; } /** *
* You pass this value as the x-amz-lex-session-attributes
HTTP
* header.
*
* Application-specific information passed between Amazon Lex and a client
* application. The value must be a JSON serialized and base64 encoded map
* with string keys and values. The total size of the
* sessionAttributes
and requestAttributes
headers
* is limited to 12 KB.
*
* For more information, see Setting Session Attributes. *
* * @param sessionAttributes
* You pass this value as the
* x-amz-lex-session-attributes
HTTP header.
*
* Application-specific information passed between Amazon Lex and
* a client application. The value must be a JSON serialized and
* base64 encoded map with string keys and values. The total size
* of the sessionAttributes
and
* requestAttributes
headers is limited to 12 KB.
*
* For more information, see Setting Session Attributes. *
*/ public void setSessionAttributes(String sessionAttributes) { this.sessionAttributes = sessionAttributes; } /** *
* You pass this value as the x-amz-lex-session-attributes
HTTP
* header.
*
* Application-specific information passed between Amazon Lex and a client
* application. The value must be a JSON serialized and base64 encoded map
* with string keys and values. The total size of the
* sessionAttributes
and requestAttributes
headers
* is limited to 12 KB.
*
* For more information, see Setting Session Attributes. *
** Returns a reference to this object so that method calls can be chained * together. * * @param sessionAttributes
* You pass this value as the
* x-amz-lex-session-attributes
HTTP header.
*
* Application-specific information passed between Amazon Lex and
* a client application. The value must be a JSON serialized and
* base64 encoded map with string keys and values. The total size
* of the sessionAttributes
and
* requestAttributes
headers is limited to 12 KB.
*
* For more information, see Setting Session Attributes. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentRequest withSessionAttributes(String sessionAttributes) { this.sessionAttributes = sessionAttributes; return this; } /** *
* You pass this value as the x-amz-lex-request-attributes
HTTP
* header.
*
* Request-specific information passed between Amazon Lex and a client
* application. The value must be a JSON serialized and base64 encoded map
* with string keys and values. The total size of the
* requestAttributes
and sessionAttributes
headers
* is limited to 12 KB.
*
* The namespace x-amz-lex:
is reserved for special attributes.
* Don't create any request attributes with the prefix
* x-amz-lex:
.
*
* For more information, see Setting Request Attributes. *
* * @return
* You pass this value as the
* x-amz-lex-request-attributes
HTTP header.
*
* Request-specific information passed between Amazon Lex and a
* client application. The value must be a JSON serialized and
* base64 encoded map with string keys and values. The total size of
* the requestAttributes
and
* sessionAttributes
headers is limited to 12 KB.
*
* The namespace x-amz-lex:
is reserved for special
* attributes. Don't create any request attributes with the prefix
* x-amz-lex:
.
*
* For more information, see Setting Request Attributes. *
*/ public String getRequestAttributes() { return requestAttributes; } /** *
* You pass this value as the x-amz-lex-request-attributes
HTTP
* header.
*
* Request-specific information passed between Amazon Lex and a client
* application. The value must be a JSON serialized and base64 encoded map
* with string keys and values. The total size of the
* requestAttributes
and sessionAttributes
headers
* is limited to 12 KB.
*
* The namespace x-amz-lex:
is reserved for special attributes.
* Don't create any request attributes with the prefix
* x-amz-lex:
.
*
* For more information, see Setting Request Attributes. *
* * @param requestAttributes
* You pass this value as the
* x-amz-lex-request-attributes
HTTP header.
*
* Request-specific information passed between Amazon Lex and a
* client application. The value must be a JSON serialized and
* base64 encoded map with string keys and values. The total size
* of the requestAttributes
and
* sessionAttributes
headers is limited to 12 KB.
*
* The namespace x-amz-lex:
is reserved for special
* attributes. Don't create any request attributes with the
* prefix x-amz-lex:
.
*
* For more information, see Setting Request Attributes. *
*/ public void setRequestAttributes(String requestAttributes) { this.requestAttributes = requestAttributes; } /** *
* You pass this value as the x-amz-lex-request-attributes
HTTP
* header.
*
* Request-specific information passed between Amazon Lex and a client
* application. The value must be a JSON serialized and base64 encoded map
* with string keys and values. The total size of the
* requestAttributes
and sessionAttributes
headers
* is limited to 12 KB.
*
* The namespace x-amz-lex:
is reserved for special attributes.
* Don't create any request attributes with the prefix
* x-amz-lex:
.
*
* For more information, see Setting Request Attributes. *
** Returns a reference to this object so that method calls can be chained * together. * * @param requestAttributes
* You pass this value as the
* x-amz-lex-request-attributes
HTTP header.
*
* Request-specific information passed between Amazon Lex and a
* client application. The value must be a JSON serialized and
* base64 encoded map with string keys and values. The total size
* of the requestAttributes
and
* sessionAttributes
headers is limited to 12 KB.
*
* The namespace x-amz-lex:
is reserved for special
* attributes. Don't create any request attributes with the
* prefix x-amz-lex:
.
*
* For more information, see Setting Request Attributes. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentRequest withRequestAttributes(String requestAttributes) { this.requestAttributes = requestAttributes; return this; } /** *
* You pass this value as the Content-Type
HTTP header.
*
* Indicates the audio format or text. The header value must start with one * of the following prefixes: *
** PCM format, audio data must be in little-endian byte order. *
** audio/l16; rate=16000; channels=1 *
** audio/x-l16; sample-rate=16000; channel-count=1 *
** audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; * is-big-endian=false *
** Opus format *
** audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000; * frame-size-milliseconds=4 *
** Text format *
** text/plain; charset=utf-8 *
*
* You pass this value as the Content-Type
HTTP header.
*
* Indicates the audio format or text. The header value must start * with one of the following prefixes: *
** PCM format, audio data must be in little-endian byte order. *
** audio/l16; rate=16000; channels=1 *
** audio/x-l16; sample-rate=16000; channel-count=1 *
** audio/lpcm; sample-rate=8000; sample-size-bits=16; * channel-count=1; is-big-endian=false *
** Opus format *
** audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000; * frame-size-milliseconds=4 *
** Text format *
** text/plain; charset=utf-8 *
*
* You pass this value as the Content-Type
HTTP header.
*
* Indicates the audio format or text. The header value must start with one * of the following prefixes: *
** PCM format, audio data must be in little-endian byte order. *
** audio/l16; rate=16000; channels=1 *
** audio/x-l16; sample-rate=16000; channel-count=1 *
** audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; * is-big-endian=false *
** Opus format *
** audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000; * frame-size-milliseconds=4 *
** Text format *
** text/plain; charset=utf-8 *
*
* You pass this value as the Content-Type
HTTP
* header.
*
* Indicates the audio format or text. The header value must * start with one of the following prefixes: *
** PCM format, audio data must be in little-endian byte order. *
** audio/l16; rate=16000; channels=1 *
** audio/x-l16; sample-rate=16000; channel-count=1 *
** audio/lpcm; sample-rate=8000; sample-size-bits=16; * channel-count=1; is-big-endian=false *
** Opus format *
** audio/x-cbr-opus-with-preamble; preamble-size=0; * bit-rate=256000; frame-size-milliseconds=4 *
** Text format *
** text/plain; charset=utf-8 *
*
* You pass this value as the Content-Type
HTTP header.
*
* Indicates the audio format or text. The header value must start with one * of the following prefixes: *
** PCM format, audio data must be in little-endian byte order. *
** audio/l16; rate=16000; channels=1 *
** audio/x-l16; sample-rate=16000; channel-count=1 *
** audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; * is-big-endian=false *
** Opus format *
** audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000; * frame-size-milliseconds=4 *
** Text format *
** text/plain; charset=utf-8 *
** Returns a reference to this object so that method calls can be chained * together. * * @param contentType
* You pass this value as the Content-Type
HTTP
* header.
*
* Indicates the audio format or text. The header value must * start with one of the following prefixes: *
** PCM format, audio data must be in little-endian byte order. *
** audio/l16; rate=16000; channels=1 *
** audio/x-l16; sample-rate=16000; channel-count=1 *
** audio/lpcm; sample-rate=8000; sample-size-bits=16; * channel-count=1; is-big-endian=false *
** Opus format *
** audio/x-cbr-opus-with-preamble; preamble-size=0; * bit-rate=256000; frame-size-milliseconds=4 *
** Text format *
** text/plain; charset=utf-8 *
*
* You pass this value as the Accept
HTTP header.
*
* The message Amazon Lex returns in the response can be either text or
* speech based on the Accept
HTTP header value in the request.
*
* If the value is text/plain; charset=utf-8
, Amazon Lex
* returns text in the response.
*
* If the value begins with audio/
, Amazon Lex returns speech
* in the response. Amazon Lex uses Amazon Polly to generate the speech
* (using the configuration you specified in the Accept
* header). For example, if you specify audio/mpeg
as the
* value, Amazon Lex returns speech in the MPEG format.
*
* If the value is audio/pcm
, the speech returned is
* audio/pcm
in 16-bit, little endian format.
*
* The following are the accepted values: *
** audio/mpeg *
** audio/ogg *
** audio/pcm *
** text/plain; charset=utf-8 *
** audio/* (defaults to mpeg) *
*
* You pass this value as the Accept
HTTP header.
*
* The message Amazon Lex returns in the response can be either text
* or speech based on the Accept
HTTP header value in
* the request.
*
* If the value is text/plain; charset=utf-8
, Amazon
* Lex returns text in the response.
*
* If the value begins with audio/
, Amazon Lex returns
* speech in the response. Amazon Lex uses Amazon Polly to generate
* the speech (using the configuration you specified in the
* Accept
header). For example, if you specify
* audio/mpeg
as the value, Amazon Lex returns speech
* in the MPEG format.
*
* If the value is audio/pcm
, the speech returned is
* audio/pcm
in 16-bit, little endian format.
*
* The following are the accepted values: *
** audio/mpeg *
** audio/ogg *
** audio/pcm *
** text/plain; charset=utf-8 *
** audio/* (defaults to mpeg) *
*
* You pass this value as the Accept
HTTP header.
*
* The message Amazon Lex returns in the response can be either text or
* speech based on the Accept
HTTP header value in the request.
*
* If the value is text/plain; charset=utf-8
, Amazon Lex
* returns text in the response.
*
* If the value begins with audio/
, Amazon Lex returns speech
* in the response. Amazon Lex uses Amazon Polly to generate the speech
* (using the configuration you specified in the Accept
* header). For example, if you specify audio/mpeg
as the
* value, Amazon Lex returns speech in the MPEG format.
*
* If the value is audio/pcm
, the speech returned is
* audio/pcm
in 16-bit, little endian format.
*
* The following are the accepted values: *
** audio/mpeg *
** audio/ogg *
** audio/pcm *
** text/plain; charset=utf-8 *
** audio/* (defaults to mpeg) *
*
* You pass this value as the Accept
HTTP header.
*
* The message Amazon Lex returns in the response can be either
* text or speech based on the Accept
HTTP header
* value in the request.
*
* If the value is text/plain; charset=utf-8
, Amazon
* Lex returns text in the response.
*
* If the value begins with audio/
, Amazon Lex
* returns speech in the response. Amazon Lex uses Amazon Polly
* to generate the speech (using the configuration you specified
* in the Accept
header). For example, if you
* specify audio/mpeg
as the value, Amazon Lex
* returns speech in the MPEG format.
*
* If the value is audio/pcm
, the speech returned is
* audio/pcm
in 16-bit, little endian format.
*
* The following are the accepted values: *
** audio/mpeg *
** audio/ogg *
** audio/pcm *
** text/plain; charset=utf-8 *
** audio/* (defaults to mpeg) *
*
* You pass this value as the Accept
HTTP header.
*
* The message Amazon Lex returns in the response can be either text or
* speech based on the Accept
HTTP header value in the request.
*
* If the value is text/plain; charset=utf-8
, Amazon Lex
* returns text in the response.
*
* If the value begins with audio/
, Amazon Lex returns speech
* in the response. Amazon Lex uses Amazon Polly to generate the speech
* (using the configuration you specified in the Accept
* header). For example, if you specify audio/mpeg
as the
* value, Amazon Lex returns speech in the MPEG format.
*
* If the value is audio/pcm
, the speech returned is
* audio/pcm
in 16-bit, little endian format.
*
* The following are the accepted values: *
** audio/mpeg *
** audio/ogg *
** audio/pcm *
** text/plain; charset=utf-8 *
** audio/* (defaults to mpeg) *
** Returns a reference to this object so that method calls can be chained * together. * * @param accept
* You pass this value as the Accept
HTTP header.
*
* The message Amazon Lex returns in the response can be either
* text or speech based on the Accept
HTTP header
* value in the request.
*
* If the value is text/plain; charset=utf-8
, Amazon
* Lex returns text in the response.
*
* If the value begins with audio/
, Amazon Lex
* returns speech in the response. Amazon Lex uses Amazon Polly
* to generate the speech (using the configuration you specified
* in the Accept
header). For example, if you
* specify audio/mpeg
as the value, Amazon Lex
* returns speech in the MPEG format.
*
* If the value is audio/pcm
, the speech returned is
* audio/pcm
in 16-bit, little endian format.
*
* The following are the accepted values: *
** audio/mpeg *
** audio/ogg *
** audio/pcm *
** text/plain; charset=utf-8 *
** audio/* (defaults to mpeg) *
*
* User input in PCM or Opus audio format or text format as described in the
* Content-Type
HTTP header.
*
* You can stream audio data to Amazon Lex or you can create a local buffer * that captures all of the audio data before sending. In general, you get * better performance if you stream audio data rather than buffering the * data locally. *
* * @return
* User input in PCM or Opus audio format or text format as
* described in the Content-Type
HTTP header.
*
* You can stream audio data to Amazon Lex or you can create a local * buffer that captures all of the audio data before sending. In * general, you get better performance if you stream audio data * rather than buffering the data locally. *
*/ public java.io.InputStream getInputStream() { return inputStreamValue; } /** *
* User input in PCM or Opus audio format or text format as described in the
* Content-Type
HTTP header.
*
* You can stream audio data to Amazon Lex or you can create a local buffer * that captures all of the audio data before sending. In general, you get * better performance if you stream audio data rather than buffering the * data locally. *
* * @param inputStreamValue
* User input in PCM or Opus audio format or text format as
* described in the Content-Type
HTTP header.
*
* You can stream audio data to Amazon Lex or you can create a * local buffer that captures all of the audio data before * sending. In general, you get better performance if you stream * audio data rather than buffering the data locally. *
*/ public void setInputStream(java.io.InputStream inputStreamValue) { this.inputStreamValue = inputStreamValue; } /** *
* User input in PCM or Opus audio format or text format as described in the
* Content-Type
HTTP header.
*
* You can stream audio data to Amazon Lex or you can create a local buffer * that captures all of the audio data before sending. In general, you get * better performance if you stream audio data rather than buffering the * data locally. *
** Returns a reference to this object so that method calls can be chained * together. * * @param inputStreamValue
* User input in PCM or Opus audio format or text format as
* described in the Content-Type
HTTP header.
*
* You can stream audio data to Amazon Lex or you can create a * local buffer that captures all of the audio data before * sending. In general, you get better performance if you stream * audio data rather than buffering the data locally. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentRequest withInputStream(java.io.InputStream inputStreamValue) { this.inputStreamValue = inputStreamValue; return this; } /** ** A list of contexts active for the request. A context can be activated * when a previous intent is fulfilled, or by including the context in the * request, *
** If you don't specify a list of contexts, Amazon Lex will use the current * list of contexts for the session. If you specify an empty list, all * contexts for the session are cleared. *
* * @return* A list of contexts active for the request. A context can be * activated when a previous intent is fulfilled, or by including * the context in the request, *
** If you don't specify a list of contexts, Amazon Lex will use the * current list of contexts for the session. If you specify an empty * list, all contexts for the session are cleared. *
*/ public String getActiveContexts() { return activeContexts; } /** ** A list of contexts active for the request. A context can be activated * when a previous intent is fulfilled, or by including the context in the * request, *
** If you don't specify a list of contexts, Amazon Lex will use the current * list of contexts for the session. If you specify an empty list, all * contexts for the session are cleared. *
* * @param activeContexts* A list of contexts active for the request. A context can be * activated when a previous intent is fulfilled, or by including * the context in the request, *
** If you don't specify a list of contexts, Amazon Lex will use * the current list of contexts for the session. If you specify * an empty list, all contexts for the session are cleared. *
*/ public void setActiveContexts(String activeContexts) { this.activeContexts = activeContexts; } /** ** A list of contexts active for the request. A context can be activated * when a previous intent is fulfilled, or by including the context in the * request, *
** If you don't specify a list of contexts, Amazon Lex will use the current * list of contexts for the session. If you specify an empty list, all * contexts for the session are cleared. *
** Returns a reference to this object so that method calls can be chained * together. * * @param activeContexts
* A list of contexts active for the request. A context can be * activated when a previous intent is fulfilled, or by including * the context in the request, *
** If you don't specify a list of contexts, Amazon Lex will use * the current list of contexts for the session. If you specify * an empty list, all contexts for the session are cleared. *
* @return A reference to this updated object so that method calls can be * chained together. */ public PostContentRequest 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 (getBotName() != null) sb.append("botName: " + getBotName() + ","); if (getBotAlias() != null) sb.append("botAlias: " + getBotAlias() + ","); if (getUserId() != null) sb.append("userId: " + getUserId() + ","); if (getSessionAttributes() != null) sb.append("sessionAttributes: " + getSessionAttributes() + ","); if (getRequestAttributes() != null) sb.append("requestAttributes: " + getRequestAttributes() + ","); if (getContentType() != null) sb.append("contentType: " + getContentType() + ","); if (getAccept() != null) sb.append("accept: " + getAccept() + ","); if (getInputStream() != null) sb.append("inputStream: " + getInputStream() + ","); 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 + ((getBotName() == null) ? 0 : getBotName().hashCode()); hashCode = prime * hashCode + ((getBotAlias() == null) ? 0 : getBotAlias().hashCode()); hashCode = prime * hashCode + ((getUserId() == null) ? 0 : getUserId().hashCode()); hashCode = prime * hashCode + ((getSessionAttributes() == null) ? 0 : getSessionAttributes().hashCode()); hashCode = prime * hashCode + ((getRequestAttributes() == null) ? 0 : getRequestAttributes().hashCode()); hashCode = prime * hashCode + ((getContentType() == null) ? 0 : getContentType().hashCode()); hashCode = prime * hashCode + ((getAccept() == null) ? 0 : getAccept().hashCode()); hashCode = prime * hashCode + ((getInputStream() == null) ? 0 : getInputStream().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 PostContentRequest == false) return false; PostContentRequest other = (PostContentRequest) obj; if (other.getBotName() == null ^ this.getBotName() == null) return false; if (other.getBotName() != null && other.getBotName().equals(this.getBotName()) == false) return false; if (other.getBotAlias() == null ^ this.getBotAlias() == null) return false; if (other.getBotAlias() != null && other.getBotAlias().equals(this.getBotAlias()) == false) return false; if (other.getUserId() == null ^ this.getUserId() == null) return false; if (other.getUserId() != null && other.getUserId().equals(this.getUserId()) == 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.getRequestAttributes() == null ^ this.getRequestAttributes() == null) return false; if (other.getRequestAttributes() != null && other.getRequestAttributes().equals(this.getRequestAttributes()) == false) return false; if (other.getContentType() == null ^ this.getContentType() == null) return false; if (other.getContentType() != null && other.getContentType().equals(this.getContentType()) == false) return false; if (other.getAccept() == null ^ this.getAccept() == null) return false; if (other.getAccept() != null && other.getAccept().equals(this.getAccept()) == false) return false; if (other.getInputStream() == null ^ this.getInputStream() == null) return false; if (other.getInputStream() != null && other.getInputStream().equals(this.getInputStream()) == 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; } }