Class SessionSpecification

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

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

An object containing information about a specific session.

See Also:
  • Method Details

    • botAliasId

      public final String botAliasId()

      The identifier of the alias of the bot that the session was held with.

      Returns:
      The identifier of the alias of the bot that the session was held with.
    • botVersion

      public final String botVersion()

      The version of the bot that the session was held with.

      Returns:
      The version of the bot that the session was held with.
    • localeId

      public final String localeId()

      The locale of the bot that the session was held with.

      Returns:
      The locale of the bot that the session was held with.
    • channel

      public final String channel()

      The channel that is integrated with the bot that the session was held with.

      Returns:
      The channel that is integrated with the bot that the session was held with.
    • sessionId

      public final String sessionId()

      The identifier of the session.

      Returns:
      The identifier of the session.
    • conversationStartTime

      public final Instant conversationStartTime()

      The date and time when the conversation began. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.

      Returns:
      The date and time when the conversation began. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.
    • conversationEndTime

      public final Instant conversationEndTime()

      The date and time when the conversation ended. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.

      Returns:
      The date and time when the conversation ended. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.
    • conversationDurationSeconds

      public final Long conversationDurationSeconds()

      The duration of the conversation in seconds. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.

      Returns:
      The duration of the conversation in seconds. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.
    • conversationEndState

      public final ConversationEndState conversationEndState()

      The final state of the conversation. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.

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

      Returns:
      The final state of the conversation. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.
      See Also:
    • conversationEndStateAsString

      public final String conversationEndStateAsString()

      The final state of the conversation. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.

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

      Returns:
      The final state of the conversation. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.
      See Also:
    • mode

      public final AnalyticsModality mode()

      The mode of the session. The possible values are as follows:

      • Speech – The session was spoken.

      • Text – The session was written.

      • DTMF – The session used a touch-tone keypad (Dual Tone Multi-Frequency).

      • MultiMode – The session used multiple modes.

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

      Returns:
      The mode of the session. The possible values are as follows:

      • Speech – The session was spoken.

      • Text – The session was written.

      • DTMF – The session used a touch-tone keypad (Dual Tone Multi-Frequency).

      • MultiMode – The session used multiple modes.

      See Also:
    • modeAsString

      public final String modeAsString()

      The mode of the session. The possible values are as follows:

      • Speech – The session was spoken.

      • Text – The session was written.

      • DTMF – The session used a touch-tone keypad (Dual Tone Multi-Frequency).

      • MultiMode – The session used multiple modes.

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

      Returns:
      The mode of the session. The possible values are as follows:

      • Speech – The session was spoken.

      • Text – The session was written.

      • DTMF – The session used a touch-tone keypad (Dual Tone Multi-Frequency).

      • MultiMode – The session used multiple modes.

      See Also:
    • numberOfTurns

      public final Long numberOfTurns()

      The number of turns that the session took.

      Returns:
      The number of turns that the session took.
    • hasInvokedIntentSamples

      public final boolean hasInvokedIntentSamples()
      For responses, this returns true if the service returned a value for the InvokedIntentSamples 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.
    • invokedIntentSamples

      public final List<InvokedIntentSample> invokedIntentSamples()

      A list of objects containing the name of an intent that was invoked.

      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 hasInvokedIntentSamples() method.

      Returns:
      A list of objects containing the name of an intent that was invoked.
    • originatingRequestId

      public final String originatingRequestId()

      The identifier of the first request in a session.

      Returns:
      The identifier of the first request in a session.
    • toBuilder

      public SessionSpecification.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<SessionSpecification.Builder,SessionSpecification>
      Returns:
      a builder for type T
    • builder

      public static SessionSpecification.Builder builder()
    • serializableBuilderClass

      public static Class<? extends SessionSpecification.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.