Class ConversationContext


  • public class ConversationContext
    extends Object
    A ConversationContext provides continuity between nodes in the prompt graph by giving the developer access to the subject of the conversation and a generic map for storing values that are shared between all Prompt invocations.
    • Constructor Detail

      • ConversationContext

        public ConversationContext​(@Nullable
                                   @Nullable Plugin plugin,
                                   @NotNull
                                   @NotNull Conversable forWhom,
                                   @NotNull
                                   @NotNull Map<Object,​Object> initialSessionData)
        Parameters:
        plugin - The owning plugin.
        forWhom - The subject of the conversation.
        initialSessionData - Any initial values to put in the sessionData map.
    • Method Detail

      • getPlugin

        @Nullable
        public @Nullable Plugin getPlugin()
        Gets the plugin that owns this conversation.
        Returns:
        The owning plugin.
      • getForWhom

        @NotNull
        public @NotNull Conversable getForWhom()
        Gets the subject of the conversation.
        Returns:
        The subject of the conversation.
      • getAllSessionData

        @NotNull
        public @NotNull Map<Object,​Object> getAllSessionData()
        Gets the underlying sessionData map. May be directly modified to manipulate session data.
        Returns:
        The full sessionData map.
      • getSessionData

        @Nullable
        public @Nullable Object getSessionData​(@NotNull
                                               @NotNull Object key)
        Gets session data shared between all Prompt invocations. Use this as a way to pass data through each Prompt as the conversation develops.
        Parameters:
        key - The session data key.
        Returns:
        The requested session data.
      • setSessionData

        public void setSessionData​(@NotNull
                                   @NotNull Object key,
                                   @Nullable
                                   @Nullable Object value)
        Sets session data shared between all Prompt invocations. Use this as a way to pass data through each prompt as the conversation develops.
        Parameters:
        key - The session data key.
        value - The session data value.