Package io.vertx.ext.web.sstore

## Interface SessionStore

- All Known Subinterfaces:
    `ClusteredSessionStore`, `CookieSessionStore`, `InfinispanSessionStore`, `LocalSessionStore`, `RedisSessionStore`

      public interface SessionStore

  A session store is used to store sessions for an Vert.x-Web web app
  Author:
    Tim Fox, Paulo Lopes

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `DEFAULT_SESSIONID_LENGTH` | Default length for a session id.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Future<Void>` | `clear()` | Remove all sessions from the store.
    `void` | `close()` | Close the store
    `static SessionStore` | `create​(Vertx vertx)` | Create a Session store given a backend and configuration JSON.
    `static SessionStore` | `create​(Vertx vertx, JsonObject options)` | Create a Session store given a backend and configuration JSON.
    `Session` | `createSession​(long timeout)` | Create a new session using the default min length.
    `Session` | `createSession​(long timeout, int length)` | Create a new session.
    `Future<Void>` | `delete​(String id)` | Delete the session with the specified ID.
    `Future<Session>` | `get​(String cookieValue)` | Get the session with the specified ID.
    `SessionStore` | `init​(Vertx vertx, JsonObject options)` | Initialize this store.
    `Future<Void>` | `put​(Session session)` | Add a session with the specified ID.
    `long` | `retryTimeout()` | The retry timeout value in milli seconds used by the session handler when it retrieves a value from the store.
    `Future<Integer>` | `size()` | Get the number of sessions in the store.

- - ### Field Detail

    - #### DEFAULT_SESSIONID_LENGTH

          static final int DEFAULT_SESSIONID_LENGTH

      Default length for a session id. More info: https://www.owasp.org/index.php/Session_Management_Cheat_Sheet
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### create

          static SessionStore create​(Vertx vertx)

      Create a Session store given a backend and configuration JSON.
      Parameters:
        `vertx` - vertx instance
      Returns:
        the store or runtime exception

    - #### create

          static SessionStore create​(Vertx vertx,
                                     JsonObject options)

      Create a Session store given a backend and configuration JSON.
      Parameters:
        `vertx` - vertx instance
        `options` - extra options for initialization
      Returns:
        the store or runtime exception

    - #### init

          SessionStore init​(Vertx vertx,
                            JsonObject options)

      Initialize this store.
      Parameters:
        `vertx` - the vertx instance
        `options` - optional Json with extra configuration options
      Returns:
        self

    - #### retryTimeout

          long retryTimeout()

      The retry timeout value in milli seconds used by the session handler when it retrieves a value from the store.

      A non positive value means there is no retry at all.
      Returns:
        the timeout value, in ms

    - #### createSession

          Session createSession​(long timeout)

      Create a new session using the default min length.
      Parameters:
        `timeout` - - the session timeout, in ms
      Returns:
        the session

    - #### createSession

          Session createSession​(long timeout,
                                int length)

      Create a new session.
      Parameters:
        `timeout` - - the session timeout, in ms
        `length` - - the required length for the session id
      Returns:
        the session

    - #### get

          Future<Session> get​(String cookieValue)

      Get the session with the specified ID.
      Parameters:
        `cookieValue` - the unique ID of the session
      Returns:
        future that will be called with a result holding the session, or a failure

    - #### delete

          Future<Void> delete​(String id)

      Delete the session with the specified ID.
      Parameters:
        `id` - the session id
      Returns:
        future that will be called with a result, or a failure

    - #### put

          Future<Void> put​(Session session)

      Add a session with the specified ID.
      Parameters:
        `session` - the session
      Returns:
        future that will be called with a result, or a failure

    - #### clear

          Future<Void> clear()

      Remove all sessions from the store.
      Returns:
        future that will be called with a result, or a failure

    - #### size

          Future<Integer> size()

      Get the number of sessions in the store.

      Beware of the result which is just an estimate, in particular with distributed session stores.

      Returns:
        future that will be called with a result, or a failure

    - #### close

          void close()

      Close the store