Cloneable
, ConversationCanceller
public class InactivityConversationCanceller extends Object implements ConversationCanceller
Conversation
after
a period of inactivity by the user.Modifier and Type | Field | Description |
---|---|---|
protected Conversation |
conversation |
|
protected Plugin |
plugin |
|
protected int |
timeoutSeconds |
Constructor | Description |
---|---|
InactivityConversationCanceller(@NotNull Plugin plugin,
int timeoutSeconds) |
Creates an InactivityConversationCanceller.
|
Modifier and Type | Method | Description |
---|---|---|
boolean |
cancelBasedOnInput(@NotNull ConversationContext context,
@NotNull String input) |
Cancels a conversation based on user input.
|
protected void |
cancelling(@NotNull Conversation conversation) |
Subclasses of InactivityConversationCanceller can override this method
to take additional actions when the inactivity timer abandons the
conversation.
|
@NotNull ConversationCanceller |
clone() |
Allows the
ConversationFactory to duplicate this
ConversationCanceller when creating a new Conversation . |
void |
setConversation(@NotNull Conversation conversation) |
Sets the conversation this ConversationCanceller can optionally cancel.
|
protected Plugin plugin
protected int timeoutSeconds
protected Conversation conversation
public InactivityConversationCanceller(@NotNull @NotNull Plugin plugin, int timeoutSeconds)
plugin
- The owning plugin.timeoutSeconds
- The number of seconds of inactivity to wait.public void setConversation(@NotNull @NotNull Conversation conversation)
ConversationCanceller
setConversation
in interface ConversationCanceller
conversation
- A conversation.public boolean cancelBasedOnInput(@NotNull @NotNull ConversationContext context, @NotNull @NotNull String input)
ConversationCanceller
cancelBasedOnInput
in interface ConversationCanceller
context
- Context information about the conversation.input
- The input text from the user.@NotNull public @NotNull ConversationCanceller clone()
ConversationCanceller
ConversationFactory
to duplicate this
ConversationCanceller when creating a new Conversation
.
Implementing this method should reset any internal object state.
clone
in interface ConversationCanceller
clone
in class Object
protected void cancelling(@NotNull @NotNull Conversation conversation)
conversation
- The conversation being abandoned.Copyright © 2020. All rights reserved.