|
||||||||||
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.
Constructor Summary | |
---|---|
protected |
ConversationManager()
|
Method Summary | |
---|---|
void |
activateConversationContext(ConversationContext ctx)
Make the specific context the current context for the current HTTP session. |
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()
Deprecated. This method should not be needed by external classes, and was inconsistent with other methods on this class. |
ConversationContext |
getCurrentConversationContext()
Get the current conversation context. |
ConversationContext |
getCurrentRootConversationContext()
Get the current root conversation context (aka the window 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()
Return true if there is a conversation context associated with the current request. |
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 Note: It is assumed that the conversation has already been invalidated |
protected void |
removeConversationContext(java.lang.Long conversationContextId)
Destroy the given conversation context. |
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 |
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()
This method is deprecated because, unlike all the other get methods, it actually creates the value if it does not exist. Other get methods (except getInstance) return null if the data does not exist. In addition, this method is not really useful to external code and probably should never have been exposed as a public API in the first place; external code should never need to force the creation of a ConversationContext.
For internal use within this class, use either findConversationContextId() or getOrCreateConversationContextId().
To just obtain the current ConversationContext if it exists, see method getCurrentConversationContext().
protected ConversationContext getConversationContext(java.lang.Long conversationContextId)
Null is returned if there is no ConversationContext with the specified id.
Param conversationContextId must not be null.
protected ConversationContext getOrCreateConversationContext(java.lang.Long conversationContextId)
If there is no such conversation context a new one will be created. The new conversation context will be a "top-level" context (ie has no parent).
The new conversation context will not be the current conversation context, unless the id passed in was already configured as the current conversation context id.
public void activateConversationContext(ConversationContext ctx)
Methods like getCurrentConversationContext will then return the specified context object.
public void clearCurrentConversationContext()
protected void removeConversationContext(java.lang.Long conversationContextId)
Note: it is 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)
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()
In a simple Orchestra application this will always be a root conversation context. When using a dialog/page-flow environment the context that is returned might have a parent context.
Null is returned if there is no current conversationContext.
public boolean hasConversationContext()
public ConversationContext getCurrentRootConversationContext()
Null is returned if it does not exist.
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 |