站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > JBoss Seam 1.1.0 bate1 API 英文版文档

Manager (JBoss Seam API Documentation) - JBoss Seam 1.1.0 bate1 API 英文版文档


org.jboss.seam.core
Class Manager

java.lang.Object
  extended by org.jboss.seam.core.Manager

@Scope(value=EVENT)
@Name(value="org.jboss.seam.core.manager")
@Intercept(value=NEVER)
public class Manager
extends Object

The Seam conversation manager.

Version:
$Revision: 1.98 $
Author:
Gavin King, Thomas Heute

Field Summary
static String CONVERSATION_ID
           
static String CONVERSATION_IS_LONG_RUNNING
           
static String PAGEFLOW_COUNTER
           
static String PAGEFLOW_NAME
           
static String PAGEFLOW_NODE_NAME
           
 
Constructor Summary
Manager()
           
 
Method Summary
 String appendConversationIdFromRedirectFilter(String url)
          Called by the Seam Redirect Filter when a redirect is called.
 void beforeRedirect()
          Temporarily promote a temporary conversation to a long running conversation for the duration of a browser redirect.
 void beginConversation(String initiator)
          Promote a temporary conversation and make it long-running
 void beginNestedConversation(String ownerName)
          Begin a new nested conversation.
 void conversationTimeout(javax.faces.context.ExternalContext externalContext)
          Clean up timed-out conversations
 String encodeParameters(String url, Map<String,Object> parameters)
           
 void endConversation(boolean beforeRedirect)
          Make a long-running conversation temporary.
 int getConcurrentRequestTimeout()
           
 String getConversationIdParameter()
           
 String getConversationIsLongRunningParameter()
           
 int getConversationTimeout()
           
 String getCurrentConversationDescription()
           
 ConversationEntry getCurrentConversationEntry()
           
 String getCurrentConversationId()
           
 List<String> getCurrentConversationIdStack()
           
 Object getCurrentConversationInitiator()
          Get the name of the component that started the current conversation.
 String getCurrentConversationViewId()
           
 String getParentConversationId()
           
 String getParentConversationViewId()
           
 String getRootConversationId()
           
 void handleConversationPropagation(Map parameters)
          Look for a conversation propagation style in the request parameters and begin, nest or join the conversation, as necessary.
 void initializeTemporaryConversation()
          Initialize a new temporary conversation context, and assign it a conversation id.
static Manager instance()
           
 void interpolateAndRedirect(String url)
           
 boolean isConversationAlreadyStored()
           
 boolean isLongRunningConversation()
           
 boolean isNestedConversation()
           
 boolean isReallyLongRunningConversation()
           
 boolean isUpdateModelValuesCalled()
           
 void leaveConversation()
          Leave the scope of the current conversation, leaving it completely intact.
 void prepareBackswitch(javax.faces.event.PhaseEvent event)
          If a page description is defined, remember the description and view id for the current page, to support conversation switching.
 void redirect(String viewId)
          Redirect to the given view id, encoding the conversation id into the request URL.
 void redirect(String viewId, Map<String,Object> parameters, boolean includeConversationId)
          Redirect to the given view id, after encoding parameters and conversation id into the request URL.
 void redirectToNoConversationView()
           
 boolean restoreAndLockConversation(String storedConversationId, boolean isLongRunningConversation)
          Initialize the request conversation context, given the conversation id.
 boolean restoreConversation(Map parameters)
          Initialize the request conversation context, taking into account conversation propagation style, and any conversation id passed as a request parameter or in the PAGE context.
 void setConcurrentRequestTimeout(int requestWait)
           
 void setConversationIdParameter(String conversationIdParameter)
           
 void setConversationIsLongRunningParameter(String conversationIdLongRunning)
           
 void setConversationTimeout(int conversationTimeout)
           
 void setCurrentConversationId(String id)
          Only public for the unit tests!
 void setLongRunningConversation(boolean isLongRunningConversation)
           
 void setUpdateModelValuesCalled(boolean updateModelValuesCalled)
           
 void storeConversation(ContextAdaptor session, Object response)
          Flush the server-side conversation context to the session and write the conversation id and pageflow info to the response if we have a long running conversation, or discard the state of a temporary conversation.
 boolean swapConversation(String id)
          Switch to another long-running conversation.
 void unlockConversation()
           
 void updateCurrentConversationId(String id)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONVERSATION_ID

public static final String CONVERSATION_ID

CONVERSATION_IS_LONG_RUNNING

public static final String CONVERSATION_IS_LONG_RUNNING

PAGEFLOW_COUNTER

public static final String PAGEFLOW_COUNTER

PAGEFLOW_NODE_NAME

public static final String PAGEFLOW_NODE_NAME

PAGEFLOW_NAME

public static final String PAGEFLOW_NAME
Constructor Detail

Manager

public Manager()
Method Detail

getCurrentConversationId

public String getCurrentConversationId()

setCurrentConversationId

public void setCurrentConversationId(String id)
Only public for the unit tests!

Parameters:
id -

updateCurrentConversationId

public void updateCurrentConversationId(String id)

getCurrentConversationInitiator

public Object getCurrentConversationInitiator()
Get the name of the component that started the current conversation.


getCurrentConversationIdStack

public List<String> getCurrentConversationIdStack()

getCurrentConversationDescription

public String getCurrentConversationDescription()

getCurrentConversationViewId

public String getCurrentConversationViewId()

getParentConversationViewId

public String getParentConversationViewId()

getParentConversationId

public String getParentConversationId()

getRootConversationId

public String getRootConversationId()

isLongRunningConversation

public boolean isLongRunningConversation()

isReallyLongRunningConversation

public boolean isReallyLongRunningConversation()

isNestedConversation

public boolean isNestedConversation()

setLongRunningConversation

public void setLongRunningConversation(boolean isLongRunningConversation)

instance

public static Manager instance()

conversationTimeout

public void conversationTimeout(javax.faces.context.ExternalContext externalContext)
Clean up timed-out conversations


storeConversation

public void storeConversation(ContextAdaptor session,
                              Object response)
Flush the server-side conversation context to the session and write the conversation id and pageflow info to the response if we have a long running conversation, or discard the state of a temporary conversation.


unlockConversation

public void unlockConversation()

restoreConversation

public boolean restoreConversation(Map parameters)
Initialize the request conversation context, taking into account conversation propagation style, and any conversation id passed as a request parameter or in the PAGE context.

Parameters:
parameters - the request parameters
Returns:
false if the conversation id referred to a long-running conversation that was not found

handleConversationPropagation

public void handleConversationPropagation(Map parameters)
Look for a conversation propagation style in the request parameters and begin, nest or join the conversation, as necessary.

Parameters:
parameters - the request parameters

restoreAndLockConversation

public boolean restoreAndLockConversation(String storedConversationId,
                                          boolean isLongRunningConversation)
Initialize the request conversation context, given the conversation id.


initializeTemporaryConversation

public void initializeTemporaryConversation()
Initialize a new temporary conversation context, and assign it a conversation id.


beginConversation

public void beginConversation(String initiator)
Promote a temporary conversation and make it long-running

Parameters:
initiator - the name of the component starting the conversation.

endConversation

public void endConversation(boolean beforeRedirect)
Make a long-running conversation temporary.


beginNestedConversation

public void beginNestedConversation(String ownerName)
Begin a new nested conversation.

Parameters:
ownerName - the name of the component starting the conversation

getCurrentConversationEntry

public ConversationEntry getCurrentConversationEntry()

leaveConversation

public void leaveConversation()
Leave the scope of the current conversation, leaving it completely intact.


swapConversation

public boolean swapConversation(String id)
Switch to another long-running conversation.

Parameters:
id - the id of the conversation to switch to
Returns:
true if the conversation exists

getConversationTimeout

public int getConversationTimeout()

setConversationTimeout

public void setConversationTimeout(int conversationTimeout)

beforeRedirect

public void beforeRedirect()
Temporarily promote a temporary conversation to a long running conversation for the duration of a browser redirect. After the redirect, the conversation will be demoted back to a temporary conversation.


redirect

public void redirect(String viewId)
Redirect to the given view id, encoding the conversation id into the request URL.

Parameters:
viewId - the JSF view id

interpolateAndRedirect

public void interpolateAndRedirect(String url)

encodeParameters

public String encodeParameters(String url,
                               Map<String,Object> parameters)

redirect

public void redirect(String viewId,
                     Map<String,Object> parameters,
                     boolean includeConversationId)
Redirect to the given view id, after encoding parameters and conversation id into the request URL.

Parameters:
viewId - the JSF view id
parameters - request parameters to be encoded (possibly null)
includeConversationId - determines if the conversation id is to be encoded

appendConversationIdFromRedirectFilter

public String appendConversationIdFromRedirectFilter(String url)
Called by the Seam Redirect Filter when a redirect is called. Appends the conversationId parameter if necessary.

Parameters:
url - the requested URL
Returns:
the resulting URL with the conversationId appended

prepareBackswitch

public void prepareBackswitch(javax.faces.event.PhaseEvent event)
If a page description is defined, remember the description and view id for the current page, to support conversation switching.


getConversationIdParameter

public String getConversationIdParameter()

setConversationIdParameter

public void setConversationIdParameter(String conversationIdParameter)

getConversationIsLongRunningParameter

public String getConversationIsLongRunningParameter()

setConversationIsLongRunningParameter

public void setConversationIsLongRunningParameter(String conversationIdLongRunning)

redirectToNoConversationView

public void redirectToNoConversationView()

isConversationAlreadyStored

public boolean isConversationAlreadyStored()

isUpdateModelValuesCalled

public boolean isUpdateModelValuesCalled()

setUpdateModelValuesCalled

public void setUpdateModelValuesCalled(boolean updateModelValuesCalled)

getConcurrentRequestTimeout

public int getConcurrentRequestTimeout()

setConcurrentRequestTimeout

public void setConcurrentRequestTimeout(int requestWait)