Package org.bukkit.conversations

# Interface ConversationCanceller

All Superinterfaces:
  `Cloneable`

All Known Implementing Classes:
  `ExactMatchConversationCanceller`, `InactivityConversationCanceller`, `ManuallyAbandonedConversationCanceller`

public interface ConversationCanceller extends Cloneable
A ConversationCanceller is a class that cancels an active `Conversation`. A Conversation can have more than one ConversationCanceller.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`cancelBasedOnInput(@NotNull ConversationContext context, @NotNull String input)`
Cancels a conversation based on user input.
`@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.

## Method Details

### setConversation

void setConversation(@NotNull @NotNull Conversation conversation)
Sets the conversation this ConversationCanceller can optionally cancel.

Parameters:
  `conversation` - A conversation.

### cancelBasedOnInput

boolean cancelBasedOnInput(@NotNull @NotNull ConversationContext context, @NotNull @NotNull String input)
Cancels a conversation based on user input.

Parameters:
  `context` - Context information about the conversation.
  `input` - The input text from the user.
Returns:
  True to cancel the conversation, False otherwise.

### clone

@NotNull @NotNull ConversationCanceller clone()
Allows the `ConversationFactory` to duplicate this ConversationCanceller when creating a new `Conversation`.

Implementing this method should reset any internal object state.

Returns:
  A clone.