com.bea.p13n.http
Class Session

java.lang.Object
  extended by com.bea.p13n.http.HttpConfigurableEntity
      extended by com.bea.p13n.http.Session
All Implemented Interfaces
ConfigurableEntity, Serializable

public class Session
extends HttpConfigurableEntity
implements Serializable

The Personalization Server implementation of the Http Session interface.

This object is used by the Personalization Server to get properties on an Http Session in a format understandable to Personalization Core Services such as the Rules Service. Note, we require the request to be passed into many methods since there are cases where we need to look at the request. The getProperty method will look in the HTTP session attributes for the property./

This will use a DefaultRequestFilter to filter out attributes. After loading the request attributes, this will additionally call out to any AttributeLoaders specified by the AttributeLoaderBean's SessionLoaders attribute./

See Also
Serialized Form

Nested Class Summary
static interface Session.AttributeLoader
          An object which is capable of loading additional attributes into a Session.
 
Field Summary
static String SESSION_PROPERTY_SET_TYPE
          request property set type
 
Fields inherited from interface com.bea.p13n.property.ConfigurableEntity
RESERVED_PROPERTY_SET
 
Constructor Summary
Session()
          Default (empty) constructor
Session(HttpServletRequest request)
          Creates a P13N HTTP Session.
 
Method Summary
static Session createP13NSession(HttpServletRequest request)
          Returns a P13N Session that acts as a surrogate for an HTTP session.
 Object getAttribute(String name)
           
 Enumeration getAttributeNames()
           
 long getCreationTime()
           
 String getId()
          Returns the id of the HttpSession for which this surrogate represents
 long getLastAccessedTime()
           
 int getMaxInactiveInterval()
           
 Object getProperty(String propertySet, String propertyName)
          Retrieves a property value for the specified scope and key.
 Object getPropertyNoDefault(String propertySet, String propertyName)
          Retrieves a property value for the specified scope and key.
 ServletContext getServletContext()
          Always returns null
 HttpSessionContext getSessionContext()
           
 Object getValue(String name)
           
 String[] getValueNames()
           
 void invalidate()
           
 boolean isNew()
           
 void putValue(String name, Object val)
           
 void removeAttribute(String name)
           
 void removeValue(String name)
           
 void setAttribute(String name, Object val)
           
 void setMaxInactiveInterval(int interval)
           
 
Methods inherited from class com.bea.p13n.http.HttpConfigurableEntity
getJndiName, getPkString, getProperty, getPropertyAsString, getPropertyDefault, getPropertySetManager, getUniqueId, removeProperty, setProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SESSION_PROPERTY_SET_TYPE

public static final String SESSION_PROPERTY_SET_TYPE
request property set type

See Also
Constants Summary
Constructor Detail

Session

public Session()
Default (empty) constructor


Session

public Session(HttpServletRequest request)
Creates a P13N HTTP Session. This object clones the session values provided in the session in the HttpRequest.

Parameters
request - the HttpServletRequest used to get the Http session values.
Method Detail

createP13NSession

public static Session createP13NSession(HttpServletRequest request)
                                 throws IllegalArgumentException
Returns a P13N Session that acts as a surrogate for an HTTP session. This method will return a new P13N Session.

Parameters
request - the request used to create the Session object.
Returns
a new ConfigurableEntity that allows access to an HttpServletSession
Throws
IllegalArgumentException - If the paramater is null.

getPropertyNoDefault

public Object getPropertyNoDefault(String propertySet,
                                   String propertyName)
Retrieves a property value for the specified scope and key. The getProperty method will first look in the cloned session values for the property. If not found, then it uses the propertySet parameter to find a propeerty set for a SESSION type. If found, it uses the default value in the property set.

Specified by:
getPropertyNoDefault in interface ConfigurableEntity
Specified by:
getPropertyNoDefault in class HttpConfigurableEntity
Parameters
propertySet - The name of the property set for which the property is sought. The property set is only used if no property is found in the session and we use the property set to look up the default value in the PropertySet for the session. This parameter can be null.
propertyName - The property name.
Returns
the property value

getProperty

public Object getProperty(String propertySet,
                          String propertyName)
Retrieves a property value for the specified scope and key. The getProperty method will first look in the cloned session values for the property. If not found, then it uses the propertySet parameter to find a propeerty set for a SESSION type. If found, it uses the default value in the property set.

Specified by:
getProperty in interface ConfigurableEntity
Specified by:
getProperty in class HttpConfigurableEntity
Parameters
propertySet - The name of the property set for which the property is sought. The property set is only used if no property is found in the session and we use the property set to look up the default value in the PropertySet for the session. This parameter can be null.
propertyName - The property name.
Returns
the property value
See Also
getPropertyNoDefault(java.lang.String, java.lang.String)

getCreationTime

public long getCreationTime()

getId

public String getId()
Returns the id of the HttpSession for which this surrogate represents

Returns
The Http Session id, returns null if the id is not valid

getLastAccessedTime

public long getLastAccessedTime()

setMaxInactiveInterval

public void setMaxInactiveInterval(int interval)

getMaxInactiveInterval

public int getMaxInactiveInterval()

getSessionContext

public HttpSessionContext getSessionContext()

getServletContext

public ServletContext getServletContext()
Always returns null


getAttribute

public Object getAttribute(String name)

getValue

public Object getValue(String name)

getAttributeNames

public Enumeration getAttributeNames()

getValueNames

public String[] getValueNames()

setAttribute

public void setAttribute(String name,
                         Object val)

putValue

public void putValue(String name,
                     Object val)

removeAttribute

public void removeAttribute(String name)

removeValue

public void removeValue(String name)

invalidate

public void invalidate()

isNew

public boolean isNew()


Copyright © 2006 BEA Systems, Inc. All Rights Reserved