# Interface Session<T>

All Superinterfaces:
  `Map`

public interface Session<T> extends Map
The `Session` object is a simple leased container for state within a web application. This is essentially a map of key value pairs leased on a fixed duration to ensure it remains active between we requests. If the session remains idle for sufficiently long then it is disposed of by the `SessionProvider` so that resources occupied can be released.

Author:
  Niall Gallagher
See Also:
  - `Lease`

## Nested Class Summary

### Nested classes/interfaces inherited from interface Map

`Map.Entry<K,V>`

## Method Summary

Modifier and Type
Method
Description
`Lease<T>`
`getLease()`
This is used to acquire the `Lease` object to control the session.

### Methods inherited from interface Map

`clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values`

## Method Details

### getLease

Lease<T> getLease()
This is used to acquire the `Lease` object to control the session. The lease is responsible for maintaining this map within the application. Once the lease expires the session will be removed and its mapped values will be available for recovery.

Returns:
  this returns the lease used to manage this session