Class ConversationContext

java.lang.Object
org.bukkit.conversations.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 Details

    • 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 Details

    • 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.