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

# Class HttpSessionWrapper

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

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

public class HttpSessionWrapper extends Object implements jakarta.servlet.http.HttpSession
The session wrapper keeps track of the internal session, manages their attributes separately and also handles session timeout.

## Nested Class Summary

## Nested classes/interfaces inherited from interface jakarta.servlet.http.HttpSession

`jakarta.servlet.http.HttpSession.Accessor`

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
`Object`
`getAttribute(String name)`
`Enumeration<String>`
`getAttributeNames()`
`long`
`getCreationTime()`
`static Set<String>`
`getExpiredSessionContextNames(jakarta.servlet.http.HttpSession session)`
`String`
`getId()`
`long`
`getLastAccessedTime()`
`int`
`getMaxInactiveInterval()`
`jakarta.servlet.ServletContext`
`getServletContext()`
`static Set<String>`
`getSessionContextNames(jakarta.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, jakarta.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`

### Methods inherited from interface jakarta.servlet.http.HttpSession

`getAccessor`

## Constructor Details

### HttpSessionWrapper

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

Parameters:
  `session` - The internal session
  `context` - The servlet context
  `config` - The configuration
  `terminate` - Whether to terminate the session

## Method Details

### hasSession

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

### getExpiredSessionContextNames

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

### getSessionContextNames

public static Set<String> getSessionContextNames(jakarta.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 `jakarta.servlet.http.HttpSession`

### getAttributeNames

public Enumeration<String> getAttributeNames()

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

### getCreationTime

public long getCreationTime()

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

### getId

public String getId()

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

### getLastAccessedTime

public long getLastAccessedTime()

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

### getMaxInactiveInterval

public int getMaxInactiveInterval()

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

### getServletContext

public jakarta.servlet.ServletContext getServletContext()

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

### getValue

public Object getValue(String name)

### getValueNames

public String[] getValueNames()

### invalidate

public void invalidate()

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

### isNew

public boolean isNew()

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

### putValue

public void putValue(String name, Object value)

### removeAttribute

public void removeAttribute(String name)

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

### removeValue

public void removeValue(String name)

### setAttribute

public void setAttribute(String name, Object value)

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

### setMaxInactiveInterval

public void setMaxInactiveInterval(int interval)

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

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`

### equals

public boolean equals(Object obj)

Overrides:
  `equals` in class `Object`