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    }