Package org.apache.felix.http.base.internal.handler

## Class HttpSessionWrapper

- java.lang.Object
- - org.apache.felix.http.base.internal.handler.HttpSessionWrapper

All Implemented Interfaces:
  `javax.servlet.http.HttpSession`

    public class HttpSessionWrapper
    extends Object
    implements javax.servlet.http.HttpSession

The session wrapper keeps track of the internal session, manages their attributes separately and also handles session timeout.

### Constructor Summary

Constructors
`HttpSessionWrapper​(javax.servlet.http.HttpSession session, ExtServletContext context, org.apache.felix.http.base.internal.HttpConfig config, boolean terminate)` Creates a new `HttpSessionWrapper` instance.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`boolean` `equals​(Object obj)`
`Object` `getAttribute​(String name)`
`Enumeration<String>` `getAttributeNames()`
`long` `getCreationTime()`
`static Set<String>` `getExpiredSessionContextNames​(javax.servlet.http.HttpSession session)`
`String` `getId()`
`long` `getLastAccessedTime()`
`int` `getMaxInactiveInterval()`
`javax.servlet.ServletContext` `getServletContext()`
`javax.servlet.http.HttpSessionContext` `getSessionContext()`
`static Set<String>` `getSessionContextNames​(javax.servlet.http.HttpSession session)` Get the names of all contexts using a session.
`Object` `getValue​(String name)`
`String[]` `getValueNames()`
`int` `hashCode()`
`static boolean` `hasSession​(String contextName, javax.servlet.http.HttpSession session)`
`void` `invalidate()`
`boolean` `isNew()`
`void` `putValue​(String name, Object value)`
`void` `removeAttribute​(String name)`
`void` `removeValue​(String name)`
`void` `setAttribute​(String name, Object value)`
`void` `setMaxInactiveInterval​(int interval)`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### HttpSessionWrapper

    public HttpSessionWrapper​(javax.servlet.http.HttpSession session,
                              ExtServletContext context,
                              org.apache.felix.http.base.internal.HttpConfig config,
                              boolean terminate)

Creates a new `HttpSessionWrapper` instance.

### Method Detail

#### hasSession

    public static boolean hasSession​(String contextName,
                                     javax.servlet.http.HttpSession session)

#### getExpiredSessionContextNames

    public static Set<String> getExpiredSessionContextNames​(javax.servlet.http.HttpSession session)

#### getSessionContextNames

    public static Set<String> getSessionContextNames​(javax.servlet.http.HttpSession session)

Get the names of all contexts using a session.

Parameters:
  `session` - The underlying session
Returns:
  The set of names

#### getAttribute

    public Object getAttribute​(String name)

Specified by:
  `getAttribute` in interface `javax.servlet.http.HttpSession`

#### getAttributeNames

    public Enumeration<String> getAttributeNames()

Specified by:
  `getAttributeNames` in interface `javax.servlet.http.HttpSession`

#### getCreationTime

    public long getCreationTime()

Specified by:
  `getCreationTime` in interface `javax.servlet.http.HttpSession`

#### getId

    public String getId()

Specified by:
  `getId` in interface `javax.servlet.http.HttpSession`

#### getLastAccessedTime

    public long getLastAccessedTime()

Specified by:
  `getLastAccessedTime` in interface `javax.servlet.http.HttpSession`

#### getMaxInactiveInterval

    public int getMaxInactiveInterval()

Specified by:
  `getMaxInactiveInterval` in interface `javax.servlet.http.HttpSession`

#### getServletContext

    public javax.servlet.ServletContext getServletContext()

Specified by:
  `getServletContext` in interface `javax.servlet.http.HttpSession`

#### getValue

    public Object getValue​(String name)

Specified by:
  `getValue` in interface `javax.servlet.http.HttpSession`

#### getValueNames

    public String[] getValueNames()

Specified by:
  `getValueNames` in interface `javax.servlet.http.HttpSession`

#### invalidate

    public void invalidate()

Specified by:
  `invalidate` in interface `javax.servlet.http.HttpSession`

#### isNew

    public boolean isNew()

Specified by:
  `isNew` in interface `javax.servlet.http.HttpSession`

#### putValue

    public void putValue​(String name,
                         Object value)

Specified by:
  `putValue` in interface `javax.servlet.http.HttpSession`

#### removeAttribute

    public void removeAttribute​(String name)

Specified by:
  `removeAttribute` in interface `javax.servlet.http.HttpSession`

#### removeValue

    public void removeValue​(String name)

Specified by:
  `removeValue` in interface `javax.servlet.http.HttpSession`

#### setAttribute

    public void setAttribute​(String name,
                             Object value)

Specified by:
  `setAttribute` in interface `javax.servlet.http.HttpSession`

#### setMaxInactiveInterval

    public void setMaxInactiveInterval​(int interval)

Specified by:
  `setMaxInactiveInterval` in interface `javax.servlet.http.HttpSession`

#### getSessionContext

    public javax.servlet.http.HttpSessionContext getSessionContext()

Specified by:
  `getSessionContext` in interface `javax.servlet.http.HttpSession`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### equals

    public boolean equals​(Object obj)

Overrides:
  `equals` in class `Object`