|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.myfaces.orchestra.conversation.ConversationManager
public class ConversationManager
Deals with the various conversation contexts in the current session.
A new conversation context will be created if the servlet request did not specify an existing conversation context id.
At the current time, this object does not serialize well. Any attempt to serialize this object (including any serialization of the user session) will just cause it to be discarded.
TODO: fix serialization issues.
Field Summary | |
---|---|
(package private) static java.lang.String |
CONVERSATION_CONTEXT_PARAM
|
Constructor Summary | |
---|---|
protected |
ConversationManager()
|
Method Summary | |
---|---|
protected void |
checkTimeouts()
Check the timeout for each conversation context, and all conversations within those contexts. |
void |
clearCurrentConversationContext()
Ends all conversations within the current context; the context itself will remain active. |
Conversation |
getConversation(java.lang.String name)
Get the conversation with the given name |
protected ConversationContext |
getConversationContext(java.lang.Long conversationContextId)
Get the conversation context for the given id |
java.lang.Long |
getConversationContextId()
Get the current, or create a new unique conversationContextId. |
ConversationContext |
getCurrentConversationContext()
Get the current conversation context. |
static ConversationManager |
getInstance()
Get the conversation manager. |
static ConversationManager |
getInstance(boolean create)
Get the conversation manager. |
ConversationMessager |
getMessager()
Get the Messager used to inform the user about anomalies. |
protected ConversationContext |
getOrCreateConversationContext(java.lang.Long conversationContextId)
Get the conversation context for the given id. |
boolean |
hasConversation(java.lang.String name)
check if the given conversation is active |
boolean |
hasConversationContext()
check if we have a conversation context |
java.util.Iterator |
iterateConversations()
Returns an iterator over all the Conversation objects in the current conversation context. |
protected void |
removeConversation(java.lang.String name)
Remove a conversation Notice: Its assumed that the conversation has already been invalidated |
protected void |
removeConversationContext(java.lang.Long conversationContextId)
Destroy the given conversation context Notice: its assumed that the context is already been destroyed |
Conversation |
startConversation(java.lang.String name,
ConversationFactory factory)
Start a conversation. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
static final java.lang.String CONVERSATION_CONTEXT_PARAM
Constructor Detail |
---|
protected ConversationManager()
Method Detail |
---|
public static ConversationManager getInstance()
public static ConversationManager getInstance(boolean create)
When create is true, an instance is always returned; one is created if none currently exists for the current user session.
When create is false, null is returned if no instance yet exists for the current user session.
public java.lang.Long getConversationContextId()
The current conversationContextId will retrieved from the request parameters. If no such parameter is present then a new id will be allocated and a new ConversationContext created.
In either case the result will be stored within the request for faster lookup.
Note that there is no security flaw regarding injection of fake context ids; the id must match one already in the session and there is no security problem with two windows in the same session exchanging ids.
protected ConversationContext getConversationContext(java.lang.Long conversationContextId)
protected ConversationContext getOrCreateConversationContext(java.lang.Long conversationContextId)
public void clearCurrentConversationContext()
protected void removeConversationContext(java.lang.Long conversationContextId)
Destroy the given conversation context
Notice: its assumed that the context is already been destroyed
public Conversation startConversation(java.lang.String name, ConversationFactory factory)
ConversationContext.startConversation(String, ConversationFactory)
protected void removeConversation(java.lang.String name)
Notice: Its assumed that the conversation has already been invalidated
ConversationContext.removeConversation(String)
public Conversation getConversation(java.lang.String name)
public boolean hasConversation(java.lang.String name)
public java.util.Iterator iterateConversations()
public ConversationContext getCurrentConversationContext()
public boolean hasConversationContext()
public ConversationMessager getMessager()
What instance is returned is controlled by the FrameworkAdapter. See
FrameworkAdapter
for details.
protected void checkTimeouts()
If any conversation has not been accessed within its timeout period then clear the context.
Invoke the checkTimeout method on each context so that any conversation that has not been accessed within its timeout is invalidated.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |