java.lang.Object
software.amazon.awssdk.services.lexruntime.model.DialogAction
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<DialogAction.Builder,DialogAction>

@Generated("software.amazon.awssdk:codegen") public final class DialogAction extends Object implements SdkPojo, Serializable, ToCopyableBuilder<DialogAction.Builder,DialogAction>

Describes the next action that the bot should take in its interaction with the user and provides information about the context in which the action takes place. Use the DialogAction data type to set the interaction to a specific state, or to return the interaction to a previous state.

See Also:
  • Method Details

    • type

      public final DialogActionType type()

      The next action that the bot should take in its interaction with the user. The possible values are:

      • ConfirmIntent - The next action is asking the user if the intent is complete and ready to be fulfilled. This is a yes/no question such as "Place the order?"

      • Close - Indicates that the there will not be a response from the user. For example, the statement "Your order has been placed" does not require a response.

      • Delegate - The next action is determined by Amazon Lex.

      • ElicitIntent - The next action is to determine the intent that the user wants to fulfill.

      • ElicitSlot - The next action is to elicit a slot value from the user.

      If the service returns an enum value that is not available in the current SDK version, type will return DialogActionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from typeAsString().

      Returns:
      The next action that the bot should take in its interaction with the user. The possible values are:

      • ConfirmIntent - The next action is asking the user if the intent is complete and ready to be fulfilled. This is a yes/no question such as "Place the order?"

      • Close - Indicates that the there will not be a response from the user. For example, the statement "Your order has been placed" does not require a response.

      • Delegate - The next action is determined by Amazon Lex.

      • ElicitIntent - The next action is to determine the intent that the user wants to fulfill.

      • ElicitSlot - The next action is to elicit a slot value from the user.

      See Also:
    • typeAsString

      public final String typeAsString()

      The next action that the bot should take in its interaction with the user. The possible values are:

      • ConfirmIntent - The next action is asking the user if the intent is complete and ready to be fulfilled. This is a yes/no question such as "Place the order?"

      • Close - Indicates that the there will not be a response from the user. For example, the statement "Your order has been placed" does not require a response.

      • Delegate - The next action is determined by Amazon Lex.

      • ElicitIntent - The next action is to determine the intent that the user wants to fulfill.

      • ElicitSlot - The next action is to elicit a slot value from the user.

      If the service returns an enum value that is not available in the current SDK version, type will return DialogActionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from typeAsString().

      Returns:
      The next action that the bot should take in its interaction with the user. The possible values are:

      • ConfirmIntent - The next action is asking the user if the intent is complete and ready to be fulfilled. This is a yes/no question such as "Place the order?"

      • Close - Indicates that the there will not be a response from the user. For example, the statement "Your order has been placed" does not require a response.

      • Delegate - The next action is determined by Amazon Lex.

      • ElicitIntent - The next action is to determine the intent that the user wants to fulfill.

      • ElicitSlot - The next action is to elicit a slot value from the user.

      See Also:
    • intentName

      public final String intentName()

      The name of the intent.

      Returns:
      The name of the intent.
    • hasSlots

      public final boolean hasSlots()
      For responses, this returns true if the service returned a value for the Slots property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • slots

      public final Map<String,String> slots()

      Map of the slots that have been gathered and their values.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSlots() method.

      Returns:
      Map of the slots that have been gathered and their values.
    • slotToElicit

      public final String slotToElicit()

      The name of the slot that should be elicited from the user.

      Returns:
      The name of the slot that should be elicited from the user.
    • fulfillmentState

      public final FulfillmentState fulfillmentState()

      The fulfillment state of the intent. The possible values are:

      • Failed - The Lambda function associated with the intent failed to fulfill the intent.

      • Fulfilled - The intent has fulfilled by the Lambda function associated with the intent.

      • ReadyForFulfillment - All of the information necessary for the intent is present and the intent ready to be fulfilled by the client application.

      If the service returns an enum value that is not available in the current SDK version, fulfillmentState will return FulfillmentState.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from fulfillmentStateAsString().

      Returns:
      The fulfillment state of the intent. The possible values are:

      • Failed - The Lambda function associated with the intent failed to fulfill the intent.

      • Fulfilled - The intent has fulfilled by the Lambda function associated with the intent.

      • ReadyForFulfillment - All of the information necessary for the intent is present and the intent ready to be fulfilled by the client application.

      See Also:
    • fulfillmentStateAsString

      public final String fulfillmentStateAsString()

      The fulfillment state of the intent. The possible values are:

      • Failed - The Lambda function associated with the intent failed to fulfill the intent.

      • Fulfilled - The intent has fulfilled by the Lambda function associated with the intent.

      • ReadyForFulfillment - All of the information necessary for the intent is present and the intent ready to be fulfilled by the client application.

      If the service returns an enum value that is not available in the current SDK version, fulfillmentState will return FulfillmentState.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from fulfillmentStateAsString().

      Returns:
      The fulfillment state of the intent. The possible values are:

      • Failed - The Lambda function associated with the intent failed to fulfill the intent.

      • Fulfilled - The intent has fulfilled by the Lambda function associated with the intent.

      • ReadyForFulfillment - All of the information necessary for the intent is present and the intent ready to be fulfilled by the client application.

      See Also:
    • message

      public final String message()

      The message that should be shown to the user. If you don't specify a message, Amazon Lex will use the message configured for the intent.

      Returns:
      The message that should be shown to the user. If you don't specify a message, Amazon Lex will use the message configured for the intent.
    • messageFormat

      public final MessageFormatType messageFormat()
      • PlainText - The message contains plain UTF-8 text.

      • CustomPayload - The message is a custom format for the client.

      • SSML - The message contains text formatted for voice output.

      • Composite - The message contains an escaped JSON object containing one or more messages. For more information, see Message Groups.

      If the service returns an enum value that is not available in the current SDK version, messageFormat will return MessageFormatType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from messageFormatAsString().

      Returns:
    • PlainText - The message contains plain UTF-8 text.

    • CustomPayload - The message is a custom format for the client.

    • SSML - The message contains text formatted for voice output.

    • Composite - The message contains an escaped JSON object containing one or more messages. For more information, see Message Groups.

    • See Also:
    • messageFormatAsString

      public final String messageFormatAsString()
      • PlainText - The message contains plain UTF-8 text.

      • CustomPayload - The message is a custom format for the client.

      • SSML - The message contains text formatted for voice output.

      • Composite - The message contains an escaped JSON object containing one or more messages. For more information, see Message Groups.

      If the service returns an enum value that is not available in the current SDK version, messageFormat will return MessageFormatType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from messageFormatAsString().

      Returns:
    • PlainText - The message contains plain UTF-8 text.

    • CustomPayload - The message is a custom format for the client.

    • SSML - The message contains text formatted for voice output.

    • Composite - The message contains an escaped JSON object containing one or more messages. For more information, see Message Groups.

    • See Also:
    • toBuilder

      public DialogAction.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<DialogAction.Builder,DialogAction>
      Returns:
      a builder for type T
    • builder

      public static DialogAction.Builder builder()
    • serializableBuilderClass

      public static Class<? extends DialogAction.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      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.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.