Package org.bukkit.conversations
Class InactivityConversationCanceller
- java.lang.Object
-
- org.bukkit.conversations.InactivityConversationCanceller
-
- All Implemented Interfaces:
Cloneable,ConversationCanceller
public class InactivityConversationCanceller extends Object implements ConversationCanceller
An InactivityConversationCanceller will cancel aConversationafter a period of inactivity by the user.
-
-
Field Summary
Fields Modifier and Type Field Description protected Conversationconversationprotected Pluginpluginprotected inttimeoutSeconds
-
Constructor Summary
Constructors Constructor Description InactivityConversationCanceller(Plugin plugin, int timeoutSeconds)Creates an InactivityConversationCanceller.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancancelBasedOnInput(ConversationContext context, String input)Cancels a conversation based on user input.protected voidcancelling(Conversation conversation)Subclasses of InactivityConversationCanceller can override this method to take additional actions when the inactivity timer abandons the conversation.ConversationCancellerclone()Allows theConversationFactoryto duplicate this ConversationCanceller when creating a newConversation.voidsetConversation(Conversation conversation)Sets the conversation this ConversationCanceller can optionally cancel.
-
-
-
Field Detail
-
plugin
protected Plugin plugin
-
timeoutSeconds
protected int timeoutSeconds
-
conversation
protected Conversation conversation
-
-
Constructor Detail
-
InactivityConversationCanceller
public InactivityConversationCanceller(@NotNull Plugin plugin, int timeoutSeconds)Creates an InactivityConversationCanceller.- Parameters:
plugin- The owning plugin.timeoutSeconds- The number of seconds of inactivity to wait.
-
-
Method Detail
-
setConversation
public void setConversation(@NotNull Conversation conversation)Description copied from interface:ConversationCancellerSets the conversation this ConversationCanceller can optionally cancel.- Specified by:
setConversationin interfaceConversationCanceller- Parameters:
conversation- A conversation.
-
cancelBasedOnInput
public boolean cancelBasedOnInput(@NotNull ConversationContext context, @NotNull String input)Description copied from interface:ConversationCancellerCancels a conversation based on user input.- Specified by:
cancelBasedOnInputin interfaceConversationCanceller- Parameters:
context- Context information about the conversation.input- The input text from the user.- Returns:
- True to cancel the conversation, False otherwise.
-
clone
@NotNull public ConversationCanceller clone()
Description copied from interface:ConversationCancellerAllows theConversationFactoryto duplicate this ConversationCanceller when creating a newConversation.Implementing this method should reset any internal object state.
- Specified by:
clonein interfaceConversationCanceller- Overrides:
clonein classObject- Returns:
- A clone.
-
cancelling
protected void cancelling(@NotNull Conversation conversation)Subclasses of InactivityConversationCanceller can override this method to take additional actions when the inactivity timer abandons the conversation.- Parameters:
conversation- The conversation being abandoned.
-
-