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

com.amazonaws.services.lexmodelbuilding.model.Prompt 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 2015-2020 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.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Obtains information from the user. To define a prompt, provide one or more messages and specify the number of * attempts to get information from the user. If you provide more than one message, Amazon Lex chooses one of the * messages to use to prompt the user. For more information, see how-it-works. *

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

* An array of objects, each of which provides a message string and its type. You can specify the message string in * plain text or in Speech Synthesis Markup Language (SSML). *

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

* The number of times to prompt the user for information. *

*/ private Integer maxAttempts; /** *

* A response card. Amazon Lex uses this prompt at runtime, in the PostText API response. It * substitutes session attributes and slot values for placeholders in the response card. For more information, see * ex-resp-card. *

*/ private String responseCard; /** *

* An array of objects, each of which provides a message string and its type. You can specify the message string in * plain text or in Speech Synthesis Markup Language (SSML). *

* * @return An array of objects, each of which provides a message string and its type. You can specify the message * string in plain text or in Speech Synthesis Markup Language (SSML). */ public java.util.List getMessages() { return messages; } /** *

* An array of objects, each of which provides a message string and its type. You can specify the message string in * plain text or in Speech Synthesis Markup Language (SSML). *

* * @param messages * An array of objects, each of which provides a message string and its type. You can specify the message * string in plain text or in Speech Synthesis Markup Language (SSML). */ public void setMessages(java.util.Collection messages) { if (messages == null) { this.messages = null; return; } this.messages = new java.util.ArrayList(messages); } /** *

* An array of objects, each of which provides a message string and its type. You can specify the message string in * plain text or in Speech Synthesis Markup Language (SSML). *

*

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

* * @param messages * An array of objects, each of which provides a message string and its type. You can specify the message * string in plain text or in Speech Synthesis Markup Language (SSML). * @return Returns a reference to this object so that method calls can be chained together. */ public Prompt withMessages(Message... messages) { if (this.messages == null) { setMessages(new java.util.ArrayList(messages.length)); } for (Message ele : messages) { this.messages.add(ele); } return this; } /** *

* An array of objects, each of which provides a message string and its type. You can specify the message string in * plain text or in Speech Synthesis Markup Language (SSML). *

* * @param messages * An array of objects, each of which provides a message string and its type. You can specify the message * string in plain text or in Speech Synthesis Markup Language (SSML). * @return Returns a reference to this object so that method calls can be chained together. */ public Prompt withMessages(java.util.Collection messages) { setMessages(messages); return this; } /** *

* The number of times to prompt the user for information. *

* * @param maxAttempts * The number of times to prompt the user for information. */ public void setMaxAttempts(Integer maxAttempts) { this.maxAttempts = maxAttempts; } /** *

* The number of times to prompt the user for information. *

* * @return The number of times to prompt the user for information. */ public Integer getMaxAttempts() { return this.maxAttempts; } /** *

* The number of times to prompt the user for information. *

* * @param maxAttempts * The number of times to prompt the user for information. * @return Returns a reference to this object so that method calls can be chained together. */ public Prompt withMaxAttempts(Integer maxAttempts) { setMaxAttempts(maxAttempts); return this; } /** *

* A response card. Amazon Lex uses this prompt at runtime, in the PostText API response. It * substitutes session attributes and slot values for placeholders in the response card. For more information, see * ex-resp-card. *

* * @param responseCard * A response card. Amazon Lex uses this prompt at runtime, in the PostText API response. It * substitutes session attributes and slot values for placeholders in the response card. For more * information, see ex-resp-card. */ public void setResponseCard(String responseCard) { this.responseCard = responseCard; } /** *

* A response card. Amazon Lex uses this prompt at runtime, in the PostText API response. It * substitutes session attributes and slot values for placeholders in the response card. For more information, see * ex-resp-card. *

* * @return A response card. Amazon Lex uses this prompt at runtime, in the PostText API response. It * substitutes session attributes and slot values for placeholders in the response card. For more * information, see ex-resp-card. */ public String getResponseCard() { return this.responseCard; } /** *

* A response card. Amazon Lex uses this prompt at runtime, in the PostText API response. It * substitutes session attributes and slot values for placeholders in the response card. For more information, see * ex-resp-card. *

* * @param responseCard * A response card. Amazon Lex uses this prompt at runtime, in the PostText API response. It * substitutes session attributes and slot values for placeholders in the response card. For more * information, see ex-resp-card. * @return Returns a reference to this object so that method calls can be chained together. */ public Prompt withResponseCard(String responseCard) { setResponseCard(responseCard); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getMessages() != null) sb.append("Messages: ").append(getMessages()).append(","); if (getMaxAttempts() != null) sb.append("MaxAttempts: ").append(getMaxAttempts()).append(","); if (getResponseCard() != null) sb.append("ResponseCard: ").append(getResponseCard()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Prompt == false) return false; Prompt other = (Prompt) obj; if (other.getMessages() == null ^ this.getMessages() == null) return false; if (other.getMessages() != null && other.getMessages().equals(this.getMessages()) == false) return false; if (other.getMaxAttempts() == null ^ this.getMaxAttempts() == null) return false; if (other.getMaxAttempts() != null && other.getMaxAttempts().equals(this.getMaxAttempts()) == false) return false; if (other.getResponseCard() == null ^ this.getResponseCard() == null) return false; if (other.getResponseCard() != null && other.getResponseCard().equals(this.getResponseCard()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getMessages() == null) ? 0 : getMessages().hashCode()); hashCode = prime * hashCode + ((getMaxAttempts() == null) ? 0 : getMaxAttempts().hashCode()); hashCode = prime * hashCode + ((getResponseCard() == null) ? 0 : getResponseCard().hashCode()); return hashCode; } @Override public Prompt clone() { try { return (Prompt) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.lexmodelbuilding.model.transform.PromptMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy