NextApp Echo3
v3.0.rc1

nextapp.echo.webcontainer
Class UserInstanceContainer

java.lang.Object
  extended by nextapp.echo.webcontainer.UserInstanceContainer
All Implemented Interfaces:
java.io.Serializable, java.util.EventListener, javax.servlet.http.HttpSessionActivationListener, javax.servlet.http.HttpSessionBindingListener

public class UserInstanceContainer
extends java.lang.Object
implements javax.servlet.http.HttpSessionActivationListener, javax.servlet.http.HttpSessionBindingListener, java.io.Serializable

Container / manager of all UserInstance objects in the servlet session.

See Also:
Serialized Form

Method Summary
 java.lang.String createInitId(Connection conn)
          Creates an initial request identifier.
 java.lang.String getCharacterEncoding()
          Returns the default character encoding in which responses should be rendered.
 java.lang.String getRootHtmlElementId()
          Returns the id of the HTML element that will serve as the Root component.
 java.lang.String getServiceUri(Service service, java.lang.String userInstanceId)
          Determines the URI to invoke the specified Service.
 java.lang.String getServiceUri(Service service, java.lang.String userInstanceId, java.lang.String[] parameterNames, java.lang.String[] parameterValues)
          Determines the URI to invoke the specified Service with additional request parameters.
 java.lang.String getServletUri()
          Returns the URI of the servlet managing this UserInstanceContainer.
static void newInstance(Connection conn)
          Creates a new Web Application Container instance using the provided client Connection.
 void sessionDidActivate(javax.servlet.http.HttpSessionEvent e)
           
 void sessionWillPassivate(javax.servlet.http.HttpSessionEvent e)
           
 void valueBound(javax.servlet.http.HttpSessionBindingEvent e)
          Listener implementation of HttpSessionBindingListener.
 void valueUnbound(javax.servlet.http.HttpSessionBindingEvent e)
          Listener implementation of HttpSessionBindingListener.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

newInstance

public static void newInstance(Connection conn)
Creates a new Web Application Container instance using the provided client Connection. The instance will automatically be stored in the relevant HttpSession

Parameters:
conn - the client/server Connection for which the instance is being instantiated

createInitId

public java.lang.String createInitId(Connection conn)
Creates an initial request identifier. Stores request parameters provided by the connection, such that they may be assigned to the later-generated UserInstance if required.

Parameters:
conn - the Connection
Returns:
a unique initial request identifier

getCharacterEncoding

public java.lang.String getCharacterEncoding()
Returns the default character encoding in which responses should be rendered.

Returns:
the default character encoding in which responses should be rendered

getRootHtmlElementId

public java.lang.String getRootHtmlElementId()
Returns the id of the HTML element that will serve as the Root component. This element must already be present in the DOM when the application is first rendered.

Returns:
the element id

getServiceUri

public java.lang.String getServiceUri(Service service,
                                      java.lang.String userInstanceId)
Determines the URI to invoke the specified Service.

Parameters:
service - the Service
Returns:
the URI

getServiceUri

public java.lang.String getServiceUri(Service service,
                                      java.lang.String userInstanceId,
                                      java.lang.String[] parameterNames,
                                      java.lang.String[] parameterValues)
Determines the URI to invoke the specified Service with additional request parameters. The additional parameters are provided by way of the parameterNames and parameterValues arrays. The value of a parameter at a specific index in the parameterNames array is provided in the parameterValues array at the same index. The arrays must thus be of equal length. Null values are allowed in the parameterValues array, and in such cases only the parameter name will be rendered in the returned URI.

Parameters:
service - the Service
parameterNames - the names of the additional URI parameters
parameterValues - the values of the additional URI parameters
Returns:
the URI

getServletUri

public java.lang.String getServletUri()
Returns the URI of the servlet managing this UserInstanceContainer.

Returns:
the URI

sessionDidActivate

public void sessionDidActivate(javax.servlet.http.HttpSessionEvent e)
Specified by:
sessionDidActivate in interface javax.servlet.http.HttpSessionActivationListener
See Also:
Recreates reference to session. Notifies ApplicationInstance of activation.

sessionWillPassivate

public void sessionWillPassivate(javax.servlet.http.HttpSessionEvent e)
Specified by:
sessionWillPassivate in interface javax.servlet.http.HttpSessionActivationListener
See Also:
Notifies ApplicationInstance of passivation. Discards reference to session.

valueBound

public void valueBound(javax.servlet.http.HttpSessionBindingEvent e)
Listener implementation of HttpSessionBindingListener. Stores reference to session when invoked.

Specified by:
valueBound in interface javax.servlet.http.HttpSessionBindingListener
See Also:
HttpSessionBindingListener.valueBound(HttpSessionBindingEvent)

valueUnbound

public void valueUnbound(javax.servlet.http.HttpSessionBindingEvent e)
Listener implementation of HttpSessionBindingListener. Disposes ApplicationInstance. Removes reference to session when invoked.

Specified by:
valueUnbound in interface javax.servlet.http.HttpSessionBindingListener
See Also:
HttpSessionBindingListener.valueUnbound(HttpSessionBindingEvent)

NextApp Echo3
v3.0.rc1