001    package org.tynamo.conversations.services;
002    
003    public interface ConversationManager {
004            public enum Parameters {
005                    keepalive
006            };
007    
008            public boolean exists(String conversationId);
009    
010            public String createConversation(String pageName, Integer maxIdleSeconds);
011    
012            public String createConversation(String pageName, Integer maxIdleSeconds, boolean useCookie);
013    
014            public String createConversation(String pageName, Integer maxIdleSeconds, Integer maxConversationLengthSeconds, boolean useCookie);
015    
016            public String createConversation(String id, String pageName, Integer maxIdleSeconds, Integer maxConversationLengthSeconds, boolean useCookie);
017    
018            public String getActiveConversation();
019    
020            public boolean isActiveConversation(String conversationId);
021    
022            public int getSecondsBeforeActiveConversationBecomesIdle();
023    
024            /**
025             * Activates conversation context. Internally used by the conversation frameworks.
026             * The interface of this operation will change in T5.1 since it has a common interface
027             * for handling request parameters
028             * */
029            public boolean activateConversation(Object parameterObject);
030    
031            public String endConversation(String conversationId);
032    
033            public void setPagePersistentFieldStrategy(ConversationalPersistentFieldStrategy pagePersistentFieldStrategy);
034    
035    }