package org.bukkit.conversations; import java.util.EventObject; /** * ConversationAbandonedEvent contains information about an abandoned conversation. */ public class ConversationAbandonedEvent extends EventObject { private ConversationContext context; private ConversationCanceller canceller; public ConversationAbandonedEvent(Conversation conversation) { this(conversation, null); } public ConversationAbandonedEvent(Conversation conversation, ConversationCanceller canceller) { super(conversation); this.context = conversation.getContext(); this.canceller = canceller; } /** * Gets the object that caused the conversation to be abandoned. * @return The object that abandoned the conversation. */ public ConversationCanceller getCanceller() { return canceller; } /** * Gets the abandoned conversation's conversation context. * @return The abandoned conversation's conversation context. */ public ConversationContext getContext() { return context; } /** * Indicates how the conversation was abandoned - naturally as part of the prompt chain or prematurely via a * {@link ConversationCanceller}. * @return True if the conversation is abandoned gracefully by a {@link Prompt} returning null * or the next prompt. False of the conversations is abandoned prematurely by a ConversationCanceller. */ public boolean gracefulExit() { return canceller == null; } }