public class ConversationFactory extends Object
Conversation
 from a predefined template. A ConversationFactory is typically created when
 a plugin is instantiated and builds a Conversation each time a user
 initiates a conversation with the plugin. Each Conversation maintains its
 own state and calls back as needed into the plugin.
 The ConversationFactory implements a fluid API, allowing parameters to be set as an extension to the constructor.
| Modifier and Type | Field and Description | 
|---|---|
| protected List<ConversationAbandonedListener> | abandonedListeners | 
| protected List<ConversationCanceller> | cancellers | 
| protected Prompt | firstPrompt | 
| protected Map<Object,Object> | initialSessionData | 
| protected boolean | isModal | 
| protected boolean | localEchoEnabled | 
| protected String | playerOnlyMessage | 
| protected Plugin | plugin | 
| protected ConversationPrefix | prefix | 
| Constructor and Description | 
|---|
| ConversationFactory(Plugin plugin)Constructs a ConversationFactory. | 
| Modifier and Type | Method and Description | 
|---|---|
| ConversationFactory | addConversationAbandonedListener(ConversationAbandonedListener listener)Adds a  ConversationAbandonedListenerto all conversations
 constructed by this factory. | 
| Conversation | buildConversation(Conversable forWhom)Constructs a  Conversationin accordance with the defaults set
 for this factory. | 
| ConversationFactory | thatExcludesNonPlayersWithMessage(String playerOnlyMessage)Prevents this factory from creating a conversation for non-player
  Conversableobjects. | 
| ConversationFactory | withConversationCanceller(ConversationCanceller canceller)Adds a  ConversationCancellerto constructed conversations. | 
| ConversationFactory | withEscapeSequence(String escapeSequence)Sets the player input that, when received, will immediately terminate
 the conversation. | 
| ConversationFactory | withFirstPrompt(Prompt firstPrompt)Sets the first prompt to use in all generated conversations. | 
| ConversationFactory | withInitialSessionData(Map<Object,Object> initialSessionData)Sets any initial data with which to populate the conversation context
 sessionData map. | 
| ConversationFactory | withLocalEcho(boolean localEchoEnabled)Sets the local echo status for all  Conversations created by
 this factory. | 
| ConversationFactory | withModality(boolean modal)Sets the modality of all  Conversations created by this factory. | 
| ConversationFactory | withPrefix(ConversationPrefix prefix)Sets the  ConversationPrefixthat prepends all output from all
 generated conversations. | 
| ConversationFactory | withTimeout(int timeoutSeconds)Sets the number of inactive seconds to wait before automatically
 abandoning all generated conversations. | 
protected Plugin plugin
protected boolean isModal
protected boolean localEchoEnabled
protected ConversationPrefix prefix
protected Prompt firstPrompt
protected String playerOnlyMessage
protected List<ConversationCanceller> cancellers
protected List<ConversationAbandonedListener> abandonedListeners
public ConversationFactory(Plugin plugin)
plugin - The plugin that owns the factory.public ConversationFactory withModality(boolean modal)
Conversations created by this factory.
 If a conversation is modal, all messages directed to the player are
 suppressed for the duration of the conversation.
 The default is True.
modal - The modality of all conversations to be created.public ConversationFactory withLocalEcho(boolean localEchoEnabled)
Conversations created by
 this factory. If local echo is enabled, any text submitted to a
 conversation gets echoed back into the submitter's chat window.localEchoEnabled - The status of local echo.public ConversationFactory withPrefix(ConversationPrefix prefix)
ConversationPrefix that prepends all output from all
 generated conversations.
 
 The default is a NullConversationPrefix;
prefix - The ConversationPrefix to use.public ConversationFactory withTimeout(int timeoutSeconds)
The default is 600 seconds (5 minutes).
timeoutSeconds - The number of seconds to wait.public ConversationFactory withFirstPrompt(Prompt firstPrompt)
The default is Prompt.END_OF_CONVERSATION.
firstPrompt - The first prompt.public ConversationFactory withInitialSessionData(Map<Object,Object> initialSessionData)
initialSessionData - The conversation context's initial
     sessionData.public ConversationFactory withEscapeSequence(String escapeSequence)
escapeSequence - Input to terminate the conversation.public ConversationFactory withConversationCanceller(ConversationCanceller canceller)
ConversationCanceller to constructed conversations.canceller - The ConversationCanceller to add.public ConversationFactory thatExcludesNonPlayersWithMessage(String playerOnlyMessage)
Conversable objects.playerOnlyMessage - The message to return to a non-play in lieu of
     starting a conversation.public ConversationFactory addConversationAbandonedListener(ConversationAbandonedListener listener)
ConversationAbandonedListener to all conversations
 constructed by this factory.listener - The listener to add.public Conversation buildConversation(Conversable forWhom)
Conversation in accordance with the defaults set
 for this factory.forWhom - The entity for whom the new conversation is mediating.Copyright © 2016. All rights reserved.