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
                                   Plugin plugin,
                                   @NotNull
                                   Conversable forWhom,
                                   @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 Plugin getPlugin()
        Gets the plugin that owns this conversation.
        Returns:
        The owning plugin.
      • getForWhom

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

        @NotNull
        public 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 Object getSessionData​(@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
                                   Object key,
                                   @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.