インターフェース ConversationManager

すべての既知の実装クラス:
SessionBindingConversationManager

public interface ConversationManager
会話を管理するためのサービス。このインターフェースは、会話サブシステムへのエントリポイントです。
作成者:
Keith Donald, Erwin Vervaet
  • メソッドの詳細

    • 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 parseConversationId(StringSE encodedId) throws ConversationException
      文字列エンコードされた conversationId をオブジェクト形式に解析します。基本的には、ConversationId.toString() の逆です。
      パラメーター:
      encodedId - エンコードされた ID
      戻り値:
      解析された会話 ID
      例外:
      ConversationException - ID の解析中に例外が発生しました