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  
ConversationAbandonedListener to all conversations
 constructed by this factory. | 
Conversation | 
buildConversation(Conversable forWhom)
Constructs a  
Conversation in accordance with the defaults set
 for this factory. | 
ConversationFactory | 
thatExcludesNonPlayersWithMessage(String playerOnlyMessage)
Prevents this factory from creating a conversation for non-player
  
Conversable objects. | 
ConversationFactory | 
withConversationCanceller(ConversationCanceller canceller)
Adds a  
ConversationCanceller to 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  
ConversationPrefix that 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 © 2015. All rights reserved.