All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bukkit.conversations.ConversationAbandonedEvent Maven / Gradle / Ivy

package org.bukkit.conversations;

import java.util.EventObject;

/**
 * ConversationAbandonedEvent contains information about an abandoned
 * conversation.
 */
public class ConversationAbandonedEvent extends EventObject {

  private final ConversationContext context;
  private final 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;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy