Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.seam.core
Class Conversation

    java.lang.Object
      org.jboss.seam.core.Conversation

All Implemented Interfaces:
  Serializable

    @Scope(value=CONVERSATION)
    @Name(value="org.jboss.seam.core.conversation")
    @Install(precedence=0)
    @BypassInterceptors
    public class Conversation

extends Object
implements Serializable

Allows the conversation timeout to be set per-conversation, and the conversation description and switchable outcome to be set when the application requires workspace management functionality.

Author:
  Gavin King
See Also:
  Serialized Form

Constructor Summary
`Conversation()`

Method Summary
`boolean` | `begin()` Start a long-running conversation, if no long-running conversation is active.
`boolean` | `begin(boolean join, boolean nested)` Begin or join a conversation, or begin a new nested conversation.
`void` | `beginNested()` Start a nested conversation.
`void` | `changeFlushMode(FlushModeType flushMode)` Change the flush mode of all Seam-managed persistence contexts in this conversation.
`void` | `end()` End a long-runnning conversation.
`void` | `end(boolean beforeRedirect)` End a long-runnning conversation.
`boolean` | `endAndRedirect()` End a child conversation and redirect to the last defined view-id for the parent conversation.
`boolean` | `endAndRedirect(boolean endBeforeRedirect)` End a child conversation and redirect to the last defined view-id for the parent conversation.
`void` | `endBeforeRedirect()` End a long-runnning conversation and destroy it before a redirect.
`String` | `getDescription()`
`String` | `getId()` Get the conversation id.
`String` | `getParentId()` Get the id of the immediate parent of a nested conversation
`String` | `getRootId()` Get the id of root conversation of a nested conversation
`Integer` | `getTimeout()` Get the timeout for this conversation instance.
`String` | `getViewId()`
`static Conversation` | `instance()`
`boolean` | `isLongRunning()` Is this conversation long-running? Note that this method returns false even when the conversation has been temporarily promoted to long-running for the course of a redirect, so it does what the user really expects.
`boolean` | `isNested()` Is this conversation a nested conversation?
`void` | `leave()` Leave the scope of the current conversation
`void` | `pop()` "Pop" the conversation stack, switching to the parent conversation
`boolean` | `redirect()` Switch back to the last defined view-id for the current conversation.
`boolean` | `redirectToParent()` Pop the conversation stack and redirect to the last defined view-id for the parent conversation.
`boolean` | `redirectToRoot()` Switch to the root conversation and redirect to the last defined view-id for the root conversation.
`void` | `root()` Switch to the root conversation
`void` | `setDescription(String description)` Sets the description of this conversation, for use in the conversation list, breadcrumbs, or conversation switcher.
`void` | `setTimeout(Integer timeout)` Set the timeout for this converstaion instance.
`void` | `setViewId(String outcome)` Sets the JSF outcome to be used when we switch back to this conversation from the conversation list, breadcrumbs, or conversation switcher.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Conversation

    public Conversation()

Method Detail

### getTimeout

    public Integer getTimeout()

  Get the timeout for this conversation instance.

  Returns:
    the timeout in millis

### setTimeout

    public void setTimeout(Integer timeout)

  Set the timeout for this converstaion instance.

  Parameters:
    `timeout` - the timeout in millis

### getId

    public String getId()

  Get the conversation id.

### getDescription

    public String getDescription()

### getViewId

    public String getViewId()

### setDescription

    public void setDescription(String description)

  Sets the description of this conversation, for use in the conversation list, breadcrumbs, or conversation switcher.

### setViewId

    public void setViewId(String outcome)

  Sets the JSF outcome to be used when we switch back to this conversation from the conversation list, breadcrumbs, or conversation switcher.

### instance

    public static Conversation instance()

### redirect

    public boolean redirect()

  Switch back to the last defined view-id for the current conversation.

  Returns:
    true if a redirect occurred

### endAndRedirect

    public boolean endAndRedirect()

  End a child conversation and redirect to the last defined view-id for the parent conversation.

  Returns:
    true if a redirect occurred

### endAndRedirect

    public boolean endAndRedirect(boolean endBeforeRedirect)

  End a child conversation and redirect to the last defined view-id for the parent conversation.

  Parameters:
    `endBeforeRedirect` - should the conversation be destroyed before the redirect?
  Returns:
    true if a redirect occurred

### leave

    public void leave()

  Leave the scope of the current conversation

### begin

    public boolean begin()

  Start a long-running conversation, if no long-running conversation is active.

  Returns:
    true if a new long-running conversation was begun

### beginNested

    public void beginNested()

  Start a nested conversation.

  Throws:
    `IllegalStateException` - if no long-running conversation was active

### begin

    public boolean begin(boolean join,
                         boolean nested)

  Begin or join a conversation, or begin a new nested conversation.

  Parameters:
    `join` - if a conversation is active, should we join it?
    `nested` - if a conversation is active, should we start a new nested conversation?
  Returns:
    true if a new long-running conversation was begun

### end

    public void end()

  End a long-runnning conversation.

### endBeforeRedirect

    public void endBeforeRedirect()

  End a long-runnning conversation and destroy it before a redirect.

### end

    public void end(boolean beforeRedirect)

  End a long-runnning conversation.

  Parameters:
    `beforeRedirect` - should the conversation be destroyed before any redirect?

### isLongRunning

    public boolean isLongRunning()

  Is this conversation long-running? Note that this method returns false even when the conversation has been temporarily promoted to long-running for the course of a redirect, so it does what the user really expects.

### isNested

    public boolean isNested()

  Is this conversation a nested conversation?

### getParentId

    public String getParentId()

  Get the id of the immediate parent of a nested conversation

### getRootId

    public String getRootId()

  Get the id of root conversation of a nested conversation

### pop

    public void pop()

  "Pop" the conversation stack, switching to the parent conversation

### redirectToParent

    public boolean redirectToParent()

  Pop the conversation stack and redirect to the last defined view-id for the parent conversation.

  Returns:
    true if a redirect occurred

### root

    public void root()

  Switch to the root conversation

### redirectToRoot

    public boolean redirectToRoot()

  Switch to the root conversation and redirect to the last defined view-id for the root conversation.

  Returns:
    true if a redirect occurred

### changeFlushMode

    public void changeFlushMode(FlushModeType flushMode)

  Change the flush mode of all Seam-managed persistence contexts in this conversation.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD