001 package org.tynamo.conversations.services;
002
003 import org.tynamo.conversations.ConversationAware;
004
005 public interface ConversationManager {
006 public enum Parameters {
007 keepalive
008 };
009
010 public boolean exists(String conversationId);
011
012 public String createConversation(String pageName, Integer maxIdleSeconds);
013
014 public String createConversation(String pageName, Integer maxIdleSeconds, boolean useCookie);
015
016 public String createConversation(String pageName, Integer maxIdleSeconds, Integer maxConversationLengthSeconds, boolean useCookie);
017
018 public String createConversation(String id, String pageName, Integer maxIdleSeconds, Integer maxConversationLengthSeconds, boolean useCookie);
019
020 public String getActiveConversation();
021
022 public boolean isActiveConversation(String conversationId);
023
024 public int getSecondsBeforeActiveConversationBecomesIdle();
025
026 public boolean activateConversation(Object parameterObject);
027
028 public String endConversation(String conversationId);
029
030 public void setPagePersistentFieldStrategy(ConversationalPersistentFieldStrategy pagePersistentFieldStrategy);
031
032 public void addConversationListener(String pageName, ConversationAware conversationAware);
033
034 public void removeConversationListener(String pageName, ConversationAware conversationAware);
035
036 }