All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.lexmodelbuilding.model.PutIntentRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Lex Model Building module holds the client classes that are used for communicating with Amazon Lex Model Building Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2012-2017 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.lexmodelbuilding.model;

import java.io.Serializable;
import javax.annotation.Generated;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * 
 * @see AWS API
 *      Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class PutIntentRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* The name of the intent. The name is not case sensitive. *

*

* The name can't match a built-in intent name, or a built-in intent name with "AMAZON." removed. For example, * because there is a built-in intent called AMAZON.HelpIntent, you can't create a custom intent called * HelpIntent. *

*

* For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills Kit. *

*/ private String name; /** *

* A description of the intent. *

*/ private String description; /** *

* An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts defined * in the slots. For more information, see how-it-works. *

*/ private java.util.List slots; /** *

* An array of utterances (strings) that a user might say to signal the intent. For example, * "I want {PizzaSize} pizza", "Order {Quantity} {PizzaSize} pizzas". *

*

* In each utterance, a slot name is enclosed in curly braces. *

*/ private java.util.List sampleUtterances; /** *

* Prompts the user to confirm the intent. This question should have a yes or no answer. *

*

* Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. For * example, with the OrderPizza intent, you might want to confirm that the order is correct before * placing it. For other intents, such as intents that simply respond to user questions, you might not need to ask * the user for confirmation before providing the information. *

* *

* You you must provide both the rejectionStatement and the confirmationPrompt, or * neither. *

*
*/ private Prompt confirmationPrompt; /** *

* When the user answers "no" to the question defined in confirmationPrompt, Amazon Lex responds with * this statement to acknowledge that the intent was canceled. *

* *

* You must provide both the rejectionStatement and the confirmationPrompt, or neither. *

*
*/ private Statement rejectionStatement; /** *

* Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after the * OrderPizza intent is fulfilled, you might prompt the user to order a drink. *

*

* The action that Amazon Lex takes depends on the user's response, as follows: *

*
    *
  • *

    * If the user says "Yes" it responds with the clarification prompt that is configured for the bot. *

    *
  • *
  • *

    * if the user says "Yes" and continues with an utterance that triggers an intent it starts a conversation for the * intent. *

    *
  • *
  • *

    * If the user says "No" it responds with the rejection statement configured for the the follow-up prompt. *

    *
  • *
  • *

    * If it doesn't recognize the utterance it repeats the follow-up prompt again. *

    *
  • *
*

* The followUpPrompt field and the conclusionStatement field are mutually exclusive. You * can specify only one. *

*/ private FollowUpPrompt followUpPrompt; /** *

* The statement that you want Amazon Lex to convey to the user after the intent is successfully fulfilled by the * Lambda function. *

*

* This element is relevant only if you provide a Lambda function in the fulfillmentActivity. If you * return the intent to the client application, you can't specify this element. *

* *

* The followUpPrompt and conclusionStatement are mutually exclusive. You can specify only * one. *

*
*/ private Statement conclusionStatement; /** *

* Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to personalize * user interaction. *

*

* For example, suppose your bot determines that the user is John. Your Lambda function might retrieve John's * information from a backend database and prepopulate some of the values. For example, if you find that John is * gluten intolerant, you might set the corresponding intent slot, GlutenIntolerant, to true. You might * find John's phone number and set the corresponding session attribute. *

*/ private CodeHook dialogCodeHook; /** *

* Required. Describes how the intent is fulfilled. For example, after a user provides all of the information for a * pizza order, fulfillmentActivity defines how the bot places an order with a local pizza store. *

*

* You might configure Amazon Lex to return all of the intent information to the client application, or direct it to * invoke a Lambda function that can process the intent (for example, place an order with a pizzeria). *

*/ private FulfillmentActivity fulfillmentActivity; /** *

* A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit. *

*/ private String parentIntentSignature; /** *

* Identifies a specific revision of the $LATEST version. *

*

* When you create a new intent, leave the checksum field blank. If you specify a checksum you get a * BadRequestException exception. *

*

* When you want to update a intent, set the checksum field to the checksum of the most recent revision * of the $LATEST version. If you don't specify the checksum field, or if the checksum * does not match the $LATEST version, you get a PreconditionFailedException exception. *

*/ private String checksum; /** *

* The name of the intent. The name is not case sensitive. *

*

* The name can't match a built-in intent name, or a built-in intent name with "AMAZON." removed. For example, * because there is a built-in intent called AMAZON.HelpIntent, you can't create a custom intent called * HelpIntent. *

*

* For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills Kit. *

* * @param name * The name of the intent. The name is not case sensitive.

*

* The name can't match a built-in intent name, or a built-in intent name with "AMAZON." removed. For * example, because there is a built-in intent called AMAZON.HelpIntent, you can't create a * custom intent called HelpIntent. *

*

* For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills Kit. */ public void setName(String name) { this.name = name; } /** *

* The name of the intent. The name is not case sensitive. *

*

* The name can't match a built-in intent name, or a built-in intent name with "AMAZON." removed. For example, * because there is a built-in intent called AMAZON.HelpIntent, you can't create a custom intent called * HelpIntent. *

*

* For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills Kit. *

* * @return The name of the intent. The name is not case sensitive.

*

* The name can't match a built-in intent name, or a built-in intent name with "AMAZON." removed. For * example, because there is a built-in intent called AMAZON.HelpIntent, you can't create a * custom intent called HelpIntent. *

*

* For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills Kit. */ public String getName() { return this.name; } /** *

* The name of the intent. The name is not case sensitive. *

*

* The name can't match a built-in intent name, or a built-in intent name with "AMAZON." removed. For example, * because there is a built-in intent called AMAZON.HelpIntent, you can't create a custom intent called * HelpIntent. *

*

* For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills Kit. *

* * @param name * The name of the intent. The name is not case sensitive.

*

* The name can't match a built-in intent name, or a built-in intent name with "AMAZON." removed. For * example, because there is a built-in intent called AMAZON.HelpIntent, you can't create a * custom intent called HelpIntent. *

*

* For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills Kit. * @return Returns a reference to this object so that method calls can be chained together. */ public PutIntentRequest withName(String name) { setName(name); return this; } /** *

* A description of the intent. *

* * @param description * A description of the intent. */ public void setDescription(String description) { this.description = description; } /** *

* A description of the intent. *

* * @return A description of the intent. */ public String getDescription() { return this.description; } /** *

* A description of the intent. *

* * @param description * A description of the intent. * @return Returns a reference to this object so that method calls can be chained together. */ public PutIntentRequest withDescription(String description) { setDescription(description); return this; } /** *

* An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts defined * in the slots. For more information, see how-it-works. *

* * @return An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts * defined in the slots. For more information, see how-it-works. */ public java.util.List getSlots() { return slots; } /** *

* An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts defined * in the slots. For more information, see how-it-works. *

* * @param slots * An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts * defined in the slots. For more information, see how-it-works. */ public void setSlots(java.util.Collection slots) { if (slots == null) { this.slots = null; return; } this.slots = new java.util.ArrayList(slots); } /** *

* An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts defined * in the slots. For more information, see how-it-works. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSlots(java.util.Collection)} or {@link #withSlots(java.util.Collection)} if you want to override the * existing values. *

* * @param slots * An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts * defined in the slots. For more information, see how-it-works. * @return Returns a reference to this object so that method calls can be chained together. */ public PutIntentRequest withSlots(Slot... slots) { if (this.slots == null) { setSlots(new java.util.ArrayList(slots.length)); } for (Slot ele : slots) { this.slots.add(ele); } return this; } /** *

* An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts defined * in the slots. For more information, see how-it-works. *

* * @param slots * An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts * defined in the slots. For more information, see how-it-works. * @return Returns a reference to this object so that method calls can be chained together. */ public PutIntentRequest withSlots(java.util.Collection slots) { setSlots(slots); return this; } /** *

* An array of utterances (strings) that a user might say to signal the intent. For example, * "I want {PizzaSize} pizza", "Order {Quantity} {PizzaSize} pizzas". *

*

* In each utterance, a slot name is enclosed in curly braces. *

* * @return An array of utterances (strings) that a user might say to signal the intent. For example, * "I want {PizzaSize} pizza", "Order {Quantity} {PizzaSize} pizzas".

*

* In each utterance, a slot name is enclosed in curly braces. */ public java.util.List getSampleUtterances() { return sampleUtterances; } /** *

* An array of utterances (strings) that a user might say to signal the intent. For example, * "I want {PizzaSize} pizza", "Order {Quantity} {PizzaSize} pizzas". *

*

* In each utterance, a slot name is enclosed in curly braces. *

* * @param sampleUtterances * An array of utterances (strings) that a user might say to signal the intent. For example, * "I want {PizzaSize} pizza", "Order {Quantity} {PizzaSize} pizzas".

*

* In each utterance, a slot name is enclosed in curly braces. */ public void setSampleUtterances(java.util.Collection sampleUtterances) { if (sampleUtterances == null) { this.sampleUtterances = null; return; } this.sampleUtterances = new java.util.ArrayList(sampleUtterances); } /** *

* An array of utterances (strings) that a user might say to signal the intent. For example, * "I want {PizzaSize} pizza", "Order {Quantity} {PizzaSize} pizzas". *

*

* In each utterance, a slot name is enclosed in curly braces. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSampleUtterances(java.util.Collection)} or {@link #withSampleUtterances(java.util.Collection)} if you * want to override the existing values. *

* * @param sampleUtterances * An array of utterances (strings) that a user might say to signal the intent. For example, * "I want {PizzaSize} pizza", "Order {Quantity} {PizzaSize} pizzas".

*

* In each utterance, a slot name is enclosed in curly braces. * @return Returns a reference to this object so that method calls can be chained together. */ public PutIntentRequest withSampleUtterances(String... sampleUtterances) { if (this.sampleUtterances == null) { setSampleUtterances(new java.util.ArrayList(sampleUtterances.length)); } for (String ele : sampleUtterances) { this.sampleUtterances.add(ele); } return this; } /** *

* An array of utterances (strings) that a user might say to signal the intent. For example, * "I want {PizzaSize} pizza", "Order {Quantity} {PizzaSize} pizzas". *

*

* In each utterance, a slot name is enclosed in curly braces. *

* * @param sampleUtterances * An array of utterances (strings) that a user might say to signal the intent. For example, * "I want {PizzaSize} pizza", "Order {Quantity} {PizzaSize} pizzas".

*

* In each utterance, a slot name is enclosed in curly braces. * @return Returns a reference to this object so that method calls can be chained together. */ public PutIntentRequest withSampleUtterances(java.util.Collection sampleUtterances) { setSampleUtterances(sampleUtterances); return this; } /** *

* Prompts the user to confirm the intent. This question should have a yes or no answer. *

*

* Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. For * example, with the OrderPizza intent, you might want to confirm that the order is correct before * placing it. For other intents, such as intents that simply respond to user questions, you might not need to ask * the user for confirmation before providing the information. *

* *

* You you must provide both the rejectionStatement and the confirmationPrompt, or * neither. *

*
* * @param confirmationPrompt * Prompts the user to confirm the intent. This question should have a yes or no answer.

*

* Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. * For example, with the OrderPizza intent, you might want to confirm that the order is correct * before placing it. For other intents, such as intents that simply respond to user questions, you might not * need to ask the user for confirmation before providing the information. *

* *

* You you must provide both the rejectionStatement and the confirmationPrompt, or * neither. *

*/ public void setConfirmationPrompt(Prompt confirmationPrompt) { this.confirmationPrompt = confirmationPrompt; } /** *

* Prompts the user to confirm the intent. This question should have a yes or no answer. *

*

* Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. For * example, with the OrderPizza intent, you might want to confirm that the order is correct before * placing it. For other intents, such as intents that simply respond to user questions, you might not need to ask * the user for confirmation before providing the information. *

* *

* You you must provide both the rejectionStatement and the confirmationPrompt, or * neither. *

*
* * @return Prompts the user to confirm the intent. This question should have a yes or no answer.

*

* Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for * fulfillment. For example, with the OrderPizza intent, you might want to confirm that the * order is correct before placing it. For other intents, such as intents that simply respond to user * questions, you might not need to ask the user for confirmation before providing the information. *

* *

* You you must provide both the rejectionStatement and the confirmationPrompt, or * neither. *

*/ public Prompt getConfirmationPrompt() { return this.confirmationPrompt; } /** *

* Prompts the user to confirm the intent. This question should have a yes or no answer. *

*

* Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. For * example, with the OrderPizza intent, you might want to confirm that the order is correct before * placing it. For other intents, such as intents that simply respond to user questions, you might not need to ask * the user for confirmation before providing the information. *

* *

* You you must provide both the rejectionStatement and the confirmationPrompt, or * neither. *

*
* * @param confirmationPrompt * Prompts the user to confirm the intent. This question should have a yes or no answer.

*

* Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. * For example, with the OrderPizza intent, you might want to confirm that the order is correct * before placing it. For other intents, such as intents that simply respond to user questions, you might not * need to ask the user for confirmation before providing the information. *

* *

* You you must provide both the rejectionStatement and the confirmationPrompt, or * neither. *

* @return Returns a reference to this object so that method calls can be chained together. */ public PutIntentRequest withConfirmationPrompt(Prompt confirmationPrompt) { setConfirmationPrompt(confirmationPrompt); return this; } /** *

* When the user answers "no" to the question defined in confirmationPrompt, Amazon Lex responds with * this statement to acknowledge that the intent was canceled. *

* *

* You must provide both the rejectionStatement and the confirmationPrompt, or neither. *

*
* * @param rejectionStatement * When the user answers "no" to the question defined in confirmationPrompt, Amazon Lex responds * with this statement to acknowledge that the intent was canceled.

*

* You must provide both the rejectionStatement and the confirmationPrompt, or * neither. *

*/ public void setRejectionStatement(Statement rejectionStatement) { this.rejectionStatement = rejectionStatement; } /** *

* When the user answers "no" to the question defined in confirmationPrompt, Amazon Lex responds with * this statement to acknowledge that the intent was canceled. *

* *

* You must provide both the rejectionStatement and the confirmationPrompt, or neither. *

*
* * @return When the user answers "no" to the question defined in confirmationPrompt, Amazon Lex * responds with this statement to acknowledge that the intent was canceled.

*

* You must provide both the rejectionStatement and the confirmationPrompt, or * neither. *

*/ public Statement getRejectionStatement() { return this.rejectionStatement; } /** *

* When the user answers "no" to the question defined in confirmationPrompt, Amazon Lex responds with * this statement to acknowledge that the intent was canceled. *

* *

* You must provide both the rejectionStatement and the confirmationPrompt, or neither. *

*
* * @param rejectionStatement * When the user answers "no" to the question defined in confirmationPrompt, Amazon Lex responds * with this statement to acknowledge that the intent was canceled.

*

* You must provide both the rejectionStatement and the confirmationPrompt, or * neither. *

* @return Returns a reference to this object so that method calls can be chained together. */ public PutIntentRequest withRejectionStatement(Statement rejectionStatement) { setRejectionStatement(rejectionStatement); return this; } /** *

* Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after the * OrderPizza intent is fulfilled, you might prompt the user to order a drink. *

*

* The action that Amazon Lex takes depends on the user's response, as follows: *

*
    *
  • *

    * If the user says "Yes" it responds with the clarification prompt that is configured for the bot. *

    *
  • *
  • *

    * if the user says "Yes" and continues with an utterance that triggers an intent it starts a conversation for the * intent. *

    *
  • *
  • *

    * If the user says "No" it responds with the rejection statement configured for the the follow-up prompt. *

    *
  • *
  • *

    * If it doesn't recognize the utterance it repeats the follow-up prompt again. *

    *
  • *
*

* The followUpPrompt field and the conclusionStatement field are mutually exclusive. You * can specify only one. *

* * @param followUpPrompt * Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after * the OrderPizza intent is fulfilled, you might prompt the user to order a drink.

*

* The action that Amazon Lex takes depends on the user's response, as follows: *

*
    *
  • *

    * If the user says "Yes" it responds with the clarification prompt that is configured for the bot. *

    *
  • *
  • *

    * if the user says "Yes" and continues with an utterance that triggers an intent it starts a conversation * for the intent. *

    *
  • *
  • *

    * If the user says "No" it responds with the rejection statement configured for the the follow-up prompt. *

    *
  • *
  • *

    * If it doesn't recognize the utterance it repeats the follow-up prompt again. *

    *
  • *
*

* The followUpPrompt field and the conclusionStatement field are mutually * exclusive. You can specify only one. */ public void setFollowUpPrompt(FollowUpPrompt followUpPrompt) { this.followUpPrompt = followUpPrompt; } /** *

* Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after the * OrderPizza intent is fulfilled, you might prompt the user to order a drink. *

*

* The action that Amazon Lex takes depends on the user's response, as follows: *

*
    *
  • *

    * If the user says "Yes" it responds with the clarification prompt that is configured for the bot. *

    *
  • *
  • *

    * if the user says "Yes" and continues with an utterance that triggers an intent it starts a conversation for the * intent. *

    *
  • *
  • *

    * If the user says "No" it responds with the rejection statement configured for the the follow-up prompt. *

    *
  • *
  • *

    * If it doesn't recognize the utterance it repeats the follow-up prompt again. *

    *
  • *
*

* The followUpPrompt field and the conclusionStatement field are mutually exclusive. You * can specify only one. *

* * @return Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after * the OrderPizza intent is fulfilled, you might prompt the user to order a drink.

*

* The action that Amazon Lex takes depends on the user's response, as follows: *

*
    *
  • *

    * If the user says "Yes" it responds with the clarification prompt that is configured for the bot. *

    *
  • *
  • *

    * if the user says "Yes" and continues with an utterance that triggers an intent it starts a conversation * for the intent. *

    *
  • *
  • *

    * If the user says "No" it responds with the rejection statement configured for the the follow-up prompt. *

    *
  • *
  • *

    * If it doesn't recognize the utterance it repeats the follow-up prompt again. *

    *
  • *
*

* The followUpPrompt field and the conclusionStatement field are mutually * exclusive. You can specify only one. */ public FollowUpPrompt getFollowUpPrompt() { return this.followUpPrompt; } /** *

* Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after the * OrderPizza intent is fulfilled, you might prompt the user to order a drink. *

*

* The action that Amazon Lex takes depends on the user's response, as follows: *

*
    *
  • *

    * If the user says "Yes" it responds with the clarification prompt that is configured for the bot. *

    *
  • *
  • *

    * if the user says "Yes" and continues with an utterance that triggers an intent it starts a conversation for the * intent. *

    *
  • *
  • *

    * If the user says "No" it responds with the rejection statement configured for the the follow-up prompt. *

    *
  • *
  • *

    * If it doesn't recognize the utterance it repeats the follow-up prompt again. *

    *
  • *
*

* The followUpPrompt field and the conclusionStatement field are mutually exclusive. You * can specify only one. *

* * @param followUpPrompt * Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after * the OrderPizza intent is fulfilled, you might prompt the user to order a drink.

*

* The action that Amazon Lex takes depends on the user's response, as follows: *

*
    *
  • *

    * If the user says "Yes" it responds with the clarification prompt that is configured for the bot. *

    *
  • *
  • *

    * if the user says "Yes" and continues with an utterance that triggers an intent it starts a conversation * for the intent. *

    *
  • *
  • *

    * If the user says "No" it responds with the rejection statement configured for the the follow-up prompt. *

    *
  • *
  • *

    * If it doesn't recognize the utterance it repeats the follow-up prompt again. *

    *
  • *
*

* The followUpPrompt field and the conclusionStatement field are mutually * exclusive. You can specify only one. * @return Returns a reference to this object so that method calls can be chained together. */ public PutIntentRequest withFollowUpPrompt(FollowUpPrompt followUpPrompt) { setFollowUpPrompt(followUpPrompt); return this; } /** *

* The statement that you want Amazon Lex to convey to the user after the intent is successfully fulfilled by the * Lambda function. *

*

* This element is relevant only if you provide a Lambda function in the fulfillmentActivity. If you * return the intent to the client application, you can't specify this element. *

* *

* The followUpPrompt and conclusionStatement are mutually exclusive. You can specify only * one. *

*
* * @param conclusionStatement * The statement that you want Amazon Lex to convey to the user after the intent is successfully fulfilled by * the Lambda function.

*

* This element is relevant only if you provide a Lambda function in the fulfillmentActivity. If * you return the intent to the client application, you can't specify this element. *

* *

* The followUpPrompt and conclusionStatement are mutually exclusive. You can * specify only one. *

*/ public void setConclusionStatement(Statement conclusionStatement) { this.conclusionStatement = conclusionStatement; } /** *

* The statement that you want Amazon Lex to convey to the user after the intent is successfully fulfilled by the * Lambda function. *

*

* This element is relevant only if you provide a Lambda function in the fulfillmentActivity. If you * return the intent to the client application, you can't specify this element. *

* *

* The followUpPrompt and conclusionStatement are mutually exclusive. You can specify only * one. *

*
* * @return The statement that you want Amazon Lex to convey to the user after the intent is successfully fulfilled * by the Lambda function.

*

* This element is relevant only if you provide a Lambda function in the fulfillmentActivity. * If you return the intent to the client application, you can't specify this element. *

* *

* The followUpPrompt and conclusionStatement are mutually exclusive. You can * specify only one. *

*/ public Statement getConclusionStatement() { return this.conclusionStatement; } /** *

* The statement that you want Amazon Lex to convey to the user after the intent is successfully fulfilled by the * Lambda function. *

*

* This element is relevant only if you provide a Lambda function in the fulfillmentActivity. If you * return the intent to the client application, you can't specify this element. *

* *

* The followUpPrompt and conclusionStatement are mutually exclusive. You can specify only * one. *

*
* * @param conclusionStatement * The statement that you want Amazon Lex to convey to the user after the intent is successfully fulfilled by * the Lambda function.

*

* This element is relevant only if you provide a Lambda function in the fulfillmentActivity. If * you return the intent to the client application, you can't specify this element. *

* *

* The followUpPrompt and conclusionStatement are mutually exclusive. You can * specify only one. *

* @return Returns a reference to this object so that method calls can be chained together. */ public PutIntentRequest withConclusionStatement(Statement conclusionStatement) { setConclusionStatement(conclusionStatement); return this; } /** *

* Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to personalize * user interaction. *

*

* For example, suppose your bot determines that the user is John. Your Lambda function might retrieve John's * information from a backend database and prepopulate some of the values. For example, if you find that John is * gluten intolerant, you might set the corresponding intent slot, GlutenIntolerant, to true. You might * find John's phone number and set the corresponding session attribute. *

* * @param dialogCodeHook * Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to * personalize user interaction.

*

* For example, suppose your bot determines that the user is John. Your Lambda function might retrieve John's * information from a backend database and prepopulate some of the values. For example, if you find that John * is gluten intolerant, you might set the corresponding intent slot, GlutenIntolerant, to true. * You might find John's phone number and set the corresponding session attribute. */ public void setDialogCodeHook(CodeHook dialogCodeHook) { this.dialogCodeHook = dialogCodeHook; } /** *

* Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to personalize * user interaction. *

*

* For example, suppose your bot determines that the user is John. Your Lambda function might retrieve John's * information from a backend database and prepopulate some of the values. For example, if you find that John is * gluten intolerant, you might set the corresponding intent slot, GlutenIntolerant, to true. You might * find John's phone number and set the corresponding session attribute. *

* * @return Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to * personalize user interaction.

*

* For example, suppose your bot determines that the user is John. Your Lambda function might retrieve * John's information from a backend database and prepopulate some of the values. For example, if you find * that John is gluten intolerant, you might set the corresponding intent slot, * GlutenIntolerant, to true. You might find John's phone number and set the corresponding * session attribute. */ public CodeHook getDialogCodeHook() { return this.dialogCodeHook; } /** *

* Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to personalize * user interaction. *

*

* For example, suppose your bot determines that the user is John. Your Lambda function might retrieve John's * information from a backend database and prepopulate some of the values. For example, if you find that John is * gluten intolerant, you might set the corresponding intent slot, GlutenIntolerant, to true. You might * find John's phone number and set the corresponding session attribute. *

* * @param dialogCodeHook * Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to * personalize user interaction.

*

* For example, suppose your bot determines that the user is John. Your Lambda function might retrieve John's * information from a backend database and prepopulate some of the values. For example, if you find that John * is gluten intolerant, you might set the corresponding intent slot, GlutenIntolerant, to true. * You might find John's phone number and set the corresponding session attribute. * @return Returns a reference to this object so that method calls can be chained together. */ public PutIntentRequest withDialogCodeHook(CodeHook dialogCodeHook) { setDialogCodeHook(dialogCodeHook); return this; } /** *

* Required. Describes how the intent is fulfilled. For example, after a user provides all of the information for a * pizza order, fulfillmentActivity defines how the bot places an order with a local pizza store. *

*

* You might configure Amazon Lex to return all of the intent information to the client application, or direct it to * invoke a Lambda function that can process the intent (for example, place an order with a pizzeria). *

* * @param fulfillmentActivity * Required. Describes how the intent is fulfilled. For example, after a user provides all of the information * for a pizza order, fulfillmentActivity defines how the bot places an order with a local pizza * store.

*

* You might configure Amazon Lex to return all of the intent information to the client application, or * direct it to invoke a Lambda function that can process the intent (for example, place an order with a * pizzeria). */ public void setFulfillmentActivity(FulfillmentActivity fulfillmentActivity) { this.fulfillmentActivity = fulfillmentActivity; } /** *

* Required. Describes how the intent is fulfilled. For example, after a user provides all of the information for a * pizza order, fulfillmentActivity defines how the bot places an order with a local pizza store. *

*

* You might configure Amazon Lex to return all of the intent information to the client application, or direct it to * invoke a Lambda function that can process the intent (for example, place an order with a pizzeria). *

* * @return Required. Describes how the intent is fulfilled. For example, after a user provides all of the * information for a pizza order, fulfillmentActivity defines how the bot places an order with * a local pizza store.

*

* You might configure Amazon Lex to return all of the intent information to the client application, or * direct it to invoke a Lambda function that can process the intent (for example, place an order with a * pizzeria). */ public FulfillmentActivity getFulfillmentActivity() { return this.fulfillmentActivity; } /** *

* Required. Describes how the intent is fulfilled. For example, after a user provides all of the information for a * pizza order, fulfillmentActivity defines how the bot places an order with a local pizza store. *

*

* You might configure Amazon Lex to return all of the intent information to the client application, or direct it to * invoke a Lambda function that can process the intent (for example, place an order with a pizzeria). *

* * @param fulfillmentActivity * Required. Describes how the intent is fulfilled. For example, after a user provides all of the information * for a pizza order, fulfillmentActivity defines how the bot places an order with a local pizza * store.

*

* You might configure Amazon Lex to return all of the intent information to the client application, or * direct it to invoke a Lambda function that can process the intent (for example, place an order with a * pizzeria). * @return Returns a reference to this object so that method calls can be chained together. */ public PutIntentRequest withFulfillmentActivity(FulfillmentActivity fulfillmentActivity) { setFulfillmentActivity(fulfillmentActivity); return this; } /** *

* A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit. *

* * @param parentIntentSignature * A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, * see Standard Built-in Intents in the Alexa Skills Kit. */ public void setParentIntentSignature(String parentIntentSignature) { this.parentIntentSignature = parentIntentSignature; } /** *

* A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit. *

* * @return A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, * see Standard Built-in Intents in the Alexa Skills Kit. */ public String getParentIntentSignature() { return this.parentIntentSignature; } /** *

* A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit. *

* * @param parentIntentSignature * A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, * see Standard Built-in Intents in the Alexa Skills Kit. * @return Returns a reference to this object so that method calls can be chained together. */ public PutIntentRequest withParentIntentSignature(String parentIntentSignature) { setParentIntentSignature(parentIntentSignature); return this; } /** *

* Identifies a specific revision of the $LATEST version. *

*

* When you create a new intent, leave the checksum field blank. If you specify a checksum you get a * BadRequestException exception. *

*

* When you want to update a intent, set the checksum field to the checksum of the most recent revision * of the $LATEST version. If you don't specify the checksum field, or if the checksum * does not match the $LATEST version, you get a PreconditionFailedException exception. *

* * @param checksum * Identifies a specific revision of the $LATEST version.

*

* When you create a new intent, leave the checksum field blank. If you specify a checksum you * get a BadRequestException exception. *

*

* When you want to update a intent, set the checksum field to the checksum of the most recent * revision of the $LATEST version. If you don't specify the checksum field, or if * the checksum does not match the $LATEST version, you get a * PreconditionFailedException exception. */ public void setChecksum(String checksum) { this.checksum = checksum; } /** *

* Identifies a specific revision of the $LATEST version. *

*

* When you create a new intent, leave the checksum field blank. If you specify a checksum you get a * BadRequestException exception. *

*

* When you want to update a intent, set the checksum field to the checksum of the most recent revision * of the $LATEST version. If you don't specify the checksum field, or if the checksum * does not match the $LATEST version, you get a PreconditionFailedException exception. *

* * @return Identifies a specific revision of the $LATEST version.

*

* When you create a new intent, leave the checksum field blank. If you specify a checksum you * get a BadRequestException exception. *

*

* When you want to update a intent, set the checksum field to the checksum of the most recent * revision of the $LATEST version. If you don't specify the checksum field, or * if the checksum does not match the $LATEST version, you get a * PreconditionFailedException exception. */ public String getChecksum() { return this.checksum; } /** *

* Identifies a specific revision of the $LATEST version. *

*

* When you create a new intent, leave the checksum field blank. If you specify a checksum you get a * BadRequestException exception. *

*

* When you want to update a intent, set the checksum field to the checksum of the most recent revision * of the $LATEST version. If you don't specify the checksum field, or if the checksum * does not match the $LATEST version, you get a PreconditionFailedException exception. *

* * @param checksum * Identifies a specific revision of the $LATEST version.

*

* When you create a new intent, leave the checksum field blank. If you specify a checksum you * get a BadRequestException exception. *

*

* When you want to update a intent, set the checksum field to the checksum of the most recent * revision of the $LATEST version. If you don't specify the checksum field, or if * the checksum does not match the $LATEST version, you get a * PreconditionFailedException exception. * @return Returns a reference to this object so that method calls can be chained together. */ public PutIntentRequest withChecksum(String checksum) { setChecksum(checksum); 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 (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getSlots() != null) sb.append("Slots: ").append(getSlots()).append(","); if (getSampleUtterances() != null) sb.append("SampleUtterances: ").append(getSampleUtterances()).append(","); if (getConfirmationPrompt() != null) sb.append("ConfirmationPrompt: ").append(getConfirmationPrompt()).append(","); if (getRejectionStatement() != null) sb.append("RejectionStatement: ").append(getRejectionStatement()).append(","); if (getFollowUpPrompt() != null) sb.append("FollowUpPrompt: ").append(getFollowUpPrompt()).append(","); if (getConclusionStatement() != null) sb.append("ConclusionStatement: ").append(getConclusionStatement()).append(","); if (getDialogCodeHook() != null) sb.append("DialogCodeHook: ").append(getDialogCodeHook()).append(","); if (getFulfillmentActivity() != null) sb.append("FulfillmentActivity: ").append(getFulfillmentActivity()).append(","); if (getParentIntentSignature() != null) sb.append("ParentIntentSignature: ").append(getParentIntentSignature()).append(","); if (getChecksum() != null) sb.append("Checksum: ").append(getChecksum()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof PutIntentRequest == false) return false; PutIntentRequest other = (PutIntentRequest) obj; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == 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.getSampleUtterances() == null ^ this.getSampleUtterances() == null) return false; if (other.getSampleUtterances() != null && other.getSampleUtterances().equals(this.getSampleUtterances()) == false) return false; if (other.getConfirmationPrompt() == null ^ this.getConfirmationPrompt() == null) return false; if (other.getConfirmationPrompt() != null && other.getConfirmationPrompt().equals(this.getConfirmationPrompt()) == false) return false; if (other.getRejectionStatement() == null ^ this.getRejectionStatement() == null) return false; if (other.getRejectionStatement() != null && other.getRejectionStatement().equals(this.getRejectionStatement()) == false) return false; if (other.getFollowUpPrompt() == null ^ this.getFollowUpPrompt() == null) return false; if (other.getFollowUpPrompt() != null && other.getFollowUpPrompt().equals(this.getFollowUpPrompt()) == false) return false; if (other.getConclusionStatement() == null ^ this.getConclusionStatement() == null) return false; if (other.getConclusionStatement() != null && other.getConclusionStatement().equals(this.getConclusionStatement()) == false) return false; if (other.getDialogCodeHook() == null ^ this.getDialogCodeHook() == null) return false; if (other.getDialogCodeHook() != null && other.getDialogCodeHook().equals(this.getDialogCodeHook()) == false) return false; if (other.getFulfillmentActivity() == null ^ this.getFulfillmentActivity() == null) return false; if (other.getFulfillmentActivity() != null && other.getFulfillmentActivity().equals(this.getFulfillmentActivity()) == false) return false; if (other.getParentIntentSignature() == null ^ this.getParentIntentSignature() == null) return false; if (other.getParentIntentSignature() != null && other.getParentIntentSignature().equals(this.getParentIntentSignature()) == false) return false; if (other.getChecksum() == null ^ this.getChecksum() == null) return false; if (other.getChecksum() != null && other.getChecksum().equals(this.getChecksum()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getSlots() == null) ? 0 : getSlots().hashCode()); hashCode = prime * hashCode + ((getSampleUtterances() == null) ? 0 : getSampleUtterances().hashCode()); hashCode = prime * hashCode + ((getConfirmationPrompt() == null) ? 0 : getConfirmationPrompt().hashCode()); hashCode = prime * hashCode + ((getRejectionStatement() == null) ? 0 : getRejectionStatement().hashCode()); hashCode = prime * hashCode + ((getFollowUpPrompt() == null) ? 0 : getFollowUpPrompt().hashCode()); hashCode = prime * hashCode + ((getConclusionStatement() == null) ? 0 : getConclusionStatement().hashCode()); hashCode = prime * hashCode + ((getDialogCodeHook() == null) ? 0 : getDialogCodeHook().hashCode()); hashCode = prime * hashCode + ((getFulfillmentActivity() == null) ? 0 : getFulfillmentActivity().hashCode()); hashCode = prime * hashCode + ((getParentIntentSignature() == null) ? 0 : getParentIntentSignature().hashCode()); hashCode = prime * hashCode + ((getChecksum() == null) ? 0 : getChecksum().hashCode()); return hashCode; } @Override public PutIntentRequest clone() { return (PutIntentRequest) super.clone(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy