
org.bukkit.conversations.Prompt Maven / Gradle / Ivy
package org.bukkit.conversations;
/**
* A Prompt is the main constituent of a {@link Conversation}. Each prompt
* displays text to the user and optionally waits for a user's response.
* Prompts are chained together into a directed graph that represents the
* conversation flow. To halt a conversation, END_OF_CONVERSATION is returned
* in liu of another Prompt object.
*/
public interface Prompt extends Cloneable {
/**
* A convenience constant for indicating the end of a conversation.
*/
Prompt END_OF_CONVERSATION = null;
/**
* Gets the text to display to the user when this prompt is first
* presented.
*
* @param context Context information about the conversation.
* @return The text to display.
*/
String getPromptText(ConversationContext context);
/**
* Checks to see if this prompt implementation should wait for user input
* or immediately display the next prompt.
*
* @param context Context information about the conversation.
* @return If true, the {@link Conversation} will wait for input before
* continuing.
*/
boolean blocksForInput(ConversationContext context);
/**
* Accepts and processes input from the user. Using the input, the next
* Prompt in the prompt graph is returned.
*
* @param context Context information about the conversation.
* @param input The input text from the user.
* @return The next Prompt in the prompt graph.
*/
Prompt acceptInput(ConversationContext context, String input);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy