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;
}
}