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

## org.springframework.webflow.conversation
Interface ConversationManager

All Known Implementing Classes:
  SessionBindingConversationManager

    public interface ConversationManager

A service for managing conversations. This interface is the entry point into the conversation subsystem.

Author:
  Keith Donald, Erwin Vervaet

Method Summary
`Conversation` | `beginConversation(ConversationParameters conversationParameters)` Begin a new conversation.
`Conversation` | `getConversation(ConversationId id)` Get the conversation with the provided id.
`ConversationId` | `parseConversationId(java.lang.String encodedId)` Parse the string-encoded conversationId into its object form.

Method Detail

### beginConversation

    Conversation beginConversation(ConversationParameters conversationParameters)
                                   throws ConversationException

  Begin a new conversation.

  Parameters:
    `conversationParameters` - descriptive conversation parameters
  Returns:
    a service interface allowing access to the conversation context
  Throws:
    `ConversationException` - an exception occured

### getConversation

    Conversation getConversation(ConversationId id)
                                 throws ConversationException

  Get the conversation with the provided id.

  Implementors should take care to manage conversation identity correctly. Although it is not strictly required to return the same (==) Conversation object every time this method is called with a particular conversation id in a single execution thread, callers will expect to recieve an object that allows them to manipulate the identified conversation. In other words, the following is legal ConversationManager client code:

              ConversationManager manager = ...;
              ConversationId id = ...;
              Conversation conv = manager.getConversation(id);
        conv.lock();
        try {
              Conversation localReference = manager.getConversation(id);
              // no need to lock since conversation 'id' is already locked
              // even though possibly conv != localReference
              localReference.putAttribute("foo", "bar");
              Object foo = conv.getAttribute("foo");
              }
              finally {
                      conv.unlock();
              }

  Parameters:
    `id` - the conversation id
  Returns:
    the conversation
  Throws:
    `NoSuchConversationException` - the id provided was invalid
    `ConversationException`

### parseConversationId

    ConversationId parseConversationId(java.lang.String encodedId)
                                       throws ConversationException

  Parse the string-encoded conversationId into its object form. Essentially, the reverse of `ConversationId.toString()`.

  Parameters:
    `encodedId` - the encoded id
  Returns:
    the parsed conversation id
  Throws:
    `ConversationException` - an exception occured parsing the id

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