インターフェース ConversationManager
- すべての既知の実装クラス:
SessionBindingConversationManager
public interface ConversationManager
会話を管理するためのサービス。このインターフェースは、会話サブシステムへのエントリポイントです。
- 作成者:
- Keith Donald, Erwin Vervaet
メソッドのサマリー
修飾子と型メソッド説明beginConversation
(ConversationParameters conversationParameters) 新しい会話を始めます。指定された ID を持つ会話を取得します。parseConversationId
(StringSE encodedId) 文字列エンコードされた conversationId をオブジェクト形式に解析します。
メソッドの詳細
beginConversation
Conversation beginConversation(ConversationParameters conversationParameters) throws ConversationException 新しい会話を始めます。- パラメーター:
conversationParameters
- 記述的な会話パラメーター- 戻り値:
- 会話コンテキストへのアクセスを可能にするサービスインターフェース
- 例外:
ConversationException
- 例外が発生しました
getConversation
指定された ID を持つ会話を取得します。実装者は、会話 ID を正しく管理するように注意する必要があります。単一の実行スレッドで特定の会話 ID を使用してこのメソッドが呼び出されるたびに、同じ (==) 会話オブジェクトを返すことは厳密には要求されませんが、呼び出し元は、識別された会話を操作できるオブジェクトを受け取ることを期待します。つまり、以下は有効な ConversationManager クライアントコードです。
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(); }
- パラメーター:
id
- 会話 ID- 戻り値:
- 会話
- 例外:
NoSuchConversationException
- 提供された ID は無効ですConversationException
parseConversationId
文字列エンコードされた conversationId をオブジェクト形式に解析します。基本的には、ConversationId.toString()
の逆です。- パラメーター:
encodedId
- エンコードされた ID- 戻り値:
- 解析された会話 ID
- 例外:
ConversationException
- ID の解析中に例外が発生しました