org.apache.cocoon.webapps.session
Interface SessionManager

All Known Implementing Classes:
DefaultSessionManager

public interface SessionManager

This is the session manager component. The main purpose of this component is creating and termination sessions

Version:
CVS $Id: SessionManager.java 30941 2004-07-29 19:56:58Z vgritsenko $
Author:
Carsten Ziegeler

Field Summary
static String ROLE
          Avalon role
 
Method Summary
 void appendContextFragment(String contextName, String path, DocumentFragment fragment)
          Append data in a public context.
 Session createSession()
          Create a new session for the user.
 DocumentFragment getContextFragment(String contextName, String path)
          Get information from the context.
 Session getSession(boolean createFlag)
          Get the session for the current user.
 void mergeContextFragment(String contextName, String path, DocumentFragment fragment)
          Merge data in a public context.
 void removeContextFragment(String contextName, String path)
          Remove data in a public context.
 void setContextFragment(String contextName, String path, DocumentFragment fragment)
          Set data in a public context.
 boolean streamContextFragment(String contextName, String path, XMLConsumer consumer)
          Stream public context data.
 void terminateSession(boolean force)
          Terminate the current session.
 

Field Detail

ROLE

public static final String ROLE
Avalon role

Method Detail

createSession

public Session createSession()
Create a new session for the user. A new session is created for this user. If the user has already a session, no new session is created and the old one is returned.


getSession

public Session getSession(boolean createFlag)
Get the session for the current user. If the user has no session right now, null is returned. If createFlag is true, the session is created if it does not exist.


terminateSession

public void terminateSession(boolean force)
                      throws ProcessingException
Terminate the current session. If the user has a session, this session is terminated and all of its data is deleted.

Parameters:
force - If this is set to true the session is terminated, if it is set to false, the session is only terminated if no session context is available.
Throws:
ProcessingException

getContextFragment

public DocumentFragment getContextFragment(String contextName,
                                           String path)
                                    throws ProcessingException
Get information from the context. A document fragment containg the xml data stored in the session context with the given name is returned. If the information is not available, null is returned.

Parameters:
contextName - The name of the public context.
path - XPath expression specifying which data to get.
Returns:
A DocumentFragment containing the data or null
Throws:
ProcessingException

streamContextFragment

public boolean streamContextFragment(String contextName,
                                     String path,
                                     XMLConsumer consumer)
                              throws SAXException,
                                     ProcessingException
Stream public context data. The document fragment containing the data from a path in the given context is streamed to the consumer.

Parameters:
contextName - The name of the public context.
path - XPath expression specifying which data to get.
Returns:
If the data is available true is returned, otherwise false is returned.
Throws:
SAXException
ProcessingException

setContextFragment

public void setContextFragment(String contextName,
                               String path,
                               DocumentFragment fragment)
                        throws ProcessingException
Set data in a public context. The document fragment containing the data is set at the given path in the public session context.

Parameters:
contextName - The name of the public context.
path - XPath expression specifying where to set the data.
fragment - The DocumentFragment containing the data.
Throws:
ProcessingException

appendContextFragment

public void appendContextFragment(String contextName,
                                  String path,
                                  DocumentFragment fragment)
                           throws ProcessingException
Append data in a public context. The document fragment containing the data is appended at the given path in the public session context.

Parameters:
contextName - The name of the public context.
path - XPath expression specifying where to append the data.
fragment - The DocumentFragment containing the data.
Throws:
ProcessingException

mergeContextFragment

public void mergeContextFragment(String contextName,
                                 String path,
                                 DocumentFragment fragment)
                          throws ProcessingException
Merge data in a public context. The document fragment containing the data is merged at the given path in the public session context.

Parameters:
contextName - The name of the public context.
path - XPath expression specifying where to merge the data.
fragment - The DocumentFragment containing the data.
Throws:
ProcessingException

removeContextFragment

public void removeContextFragment(String contextName,
                                  String path)
                           throws ProcessingException
Remove data in a public context. The data specified by the path is removed from the public session context.

Parameters:
contextName - The name of the public context.
path - XPath expression specifying where to merge the data.
Throws:
ProcessingException


Copyright ? 1999-2005 The Apache Software Foundation. All Rights Reserved.