Class List Method List File List

# Class: VertxWeb::SessionStore

Inherits:
  Object
  - Object
  - VertxWeb::SessionStore
  show all
Defined in:
  /Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb

## Overview

A session store is used to store sessions for an Vert.x-Web web app

## Direct Known Subclasses

ClusteredSessionStore, LocalSessionStore

## Constant Summary

@@j_api_type =

      Object.new

## Class Method Summary (collapse)

- + (Boolean) accept?(obj)
- + (::VertxWeb::SessionStore) create(vertx = nil, options = nil)
  Create a Session store given a backend and configuration JSON.
- + (Object) DEFAULT_SESSIONID_LENGTH
  Default length for a session id.
- + (Object) j_api_type
- + (Object) j_class
- + (Object) unwrap(obj)
- + (Object) wrap(obj)

## Instance Method Summary (collapse)

- - (void) clear { ... }
  Remove all sessions from the store.
- - (void) close
  Close the store.
- - (::VertxWeb::Session) create_session(timeout = nil, length = nil)
  Create a new session.
- - (void) delete(id = nil) { ... }
  Delete the session with the specified ID.
- - (void) get(cookieValue = nil) { ... }
  Get the session with the specified ID.
- - (self) init(vertx = nil, options = nil)
  Initialize this store.
- - (void) put(session = nil) { ... }
  Add a session with the specified ID.
- - (Fixnum) retry_timeout
  The retry timeout value in milli seconds used by the session handler when it retrieves a value from the store.
- - (void) size { ... }
  Get the number of sessions in the store.

## Class Method Details

### + (`Boolean`) accept?(obj)

Returns:

- (`Boolean`)

    19
    20
    21
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 19

    def @@j_api_type.accept?(obj)
      obj.class == SessionStore
    end

### + (`::VertxWeb::SessionStore`) create(vertx = nil, options = nil)

Create a Session store given a backend and configuration JSON.

Parameters:

- vertx (`::Vertx::Vertx`) (defaults to: `nil`) —
  vertx instance
- options (`Hash{String => Object}`) (defaults to: `nil`) —
  extra options for initialization

Returns:

- (`::VertxWeb::SessionStore`) —
  the store or runtime exception

Raises:

- (`ArgumentError`)

    38
    39
    40
    41
    42
    43
    44
    45
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 38

    def self.create(vertx=nil,options=nil)
      if vertx.class.method_defined?(:j_del) && !block_given? && options == nil
        return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtWebSstore::SessionStore.java_method(:create, [Java::IoVertxCore::Vertx.java_class]).call(vertx.j_del),::VertxWeb::SessionStore)
      elsif vertx.class.method_defined?(:j_del) && options.class == Hash && !block_given?
        return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtWebSstore::SessionStore.java_method(:create, [Java::IoVertxCore::Vertx.java_class,Java::IoVertxCoreJson::JsonObject.java_class]).call(vertx.j_del,::Vertx::Util::Utils.to_json_object(options)),::VertxWeb::SessionStore)
      end
      raise ArgumentError, "Invalid arguments when calling create(#{vertx},#{options})"
    end

### + (`Object`) DEFAULT_SESSIONID_LENGTH

Default length for a session id. More info: https://www.owasp.org/index.php/Session_Management_Cheat_Sheet

    139
    140
    141
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 139

    def self.DEFAULT_SESSIONID_LENGTH
      Java::IoVertxExtWebSstore::SessionStore.DEFAULT_SESSIONID_LENGTH
    end

### + (`Object`) j_api_type

    28
    29
    30
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 28

    def self.j_api_type
      @@j_api_type
    end

### + (`Object`) j_class

    31
    32
    33
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 31

    def self.j_class
      Java::IoVertxExtWebSstore::SessionStore.java_class
    end

### + (`Object`) unwrap(obj)

    25
    26
    27
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 25

    def @@j_api_type.unwrap(obj)
      obj.j_del
    end

### + (`Object`) wrap(obj)

    22
    23
    24
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 22

    def @@j_api_type.wrap(obj)
      SessionStore.new(obj)
    end

## Instance Method Details

### - (`void`) clear { ... }

This method returns an undefined value.

Remove all sessions from the store.

Yields:

- will be called with a success or a failure

Raises:

- (`ArgumentError`)

    112
    113
    114
    115
    116
    117
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 112

    def clear
      if block_given?
        return @j_del.java_method(:clear, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
      end
      raise ArgumentError, "Invalid arguments when calling clear()"
    end

### - (`void`) close

This method returns an undefined value.

Close the store

Raises:

- (`ArgumentError`)

    131
    132
    133
    134
    135
    136
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 131

    def close
      if !block_given?
        return @j_del.java_method(:close, []).call()
      end
      raise ArgumentError, "Invalid arguments when calling close()"
    end

### - (`::VertxWeb::Session`) create_session(timeout = nil, length = nil)

Create a new session.

Parameters:

- timeout (`Fixnum`) (defaults to: `nil`) —
  - the session timeout, in ms
- length (`Fixnum`) (defaults to: `nil`) —
  - the required length for the session id

Returns:

- (`::VertxWeb::Session`) —
  the session

Raises:

- (`ArgumentError`)

    71
    72
    73
    74
    75
    76
    77
    78
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 71

    def create_session(timeout=nil,length=nil)
      if timeout.class == Fixnum && !block_given? && length == nil
        return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:createSession, [Java::long.java_class]).call(timeout),::VertxWeb::Session)
      elsif timeout.class == Fixnum && length.class == Fixnum && !block_given?
        return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:createSession, [Java::long.java_class,Java::int.java_class]).call(timeout,length),::VertxWeb::Session)
      end
      raise ArgumentError, "Invalid arguments when calling create_session(#{timeout},#{length})"
    end

### - (`void`) delete(id = nil) { ... }

This method returns an undefined value.

Delete the session with the specified ID.

Parameters:

- id (`String`) (defaults to: `nil`) —
  the session id

Yields:

- will be called with a success or a failure

Raises:

- (`ArgumentError`)

    93
    94
    95
    96
    97
    98
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 93

    def delete(id=nil)
      if id.class == String && block_given?
        return @j_del.java_method(:delete, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(id,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
      end
      raise ArgumentError, "Invalid arguments when calling delete(#{id})"
    end

### - (`void`) get(cookieValue = nil) { ... }

This method returns an undefined value.

Get the session with the specified ID.

Parameters:

- cookieValue (`String`) (defaults to: `nil`) —
  the unique ID of the session

Yields:

- will be called with a result holding the session, or a failure

Raises:

- (`ArgumentError`)

    83
    84
    85
    86
    87
    88
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 83

    def get(cookieValue=nil)
      if cookieValue.class == String && block_given?
        return @j_del.java_method(:get, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(cookieValue,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxWeb::Session) : nil) }))
      end
      raise ArgumentError, "Invalid arguments when calling get(#{cookieValue})"
    end

### - (`self`) init(vertx = nil, options = nil)

Initialize this store.

Parameters:

- vertx (`::Vertx::Vertx`) (defaults to: `nil`) —
  the vertx instance
- options (`Hash{String => Object}`) (defaults to: `nil`) —
  optional Json with extra configuration options

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    50
    51
    52
    53
    54
    55
    56
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 50

    def init(vertx=nil,options=nil)
      if vertx.class.method_defined?(:j_del) && options.class == Hash && !block_given?
        @j_del.java_method(:init, [Java::IoVertxCore::Vertx.java_class,Java::IoVertxCoreJson::JsonObject.java_class]).call(vertx.j_del,::Vertx::Util::Utils.to_json_object(options))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling init(#{vertx},#{options})"
    end

### - (`void`) put(session = nil) { ... }

This method returns an undefined value.

Add a session with the specified ID.

Parameters:

- session (`::VertxWeb::Session`) (defaults to: `nil`) —
  the session

Yields:

- will be called with a success or a failure

Raises:

- (`ArgumentError`)

    103
    104
    105
    106
    107
    108
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 103

    def put(session=nil)
      if session.class.method_defined?(:j_del) && block_given?
        return @j_del.java_method(:put, [Java::IoVertxExtWeb::Session.java_class,Java::IoVertxCore::Handler.java_class]).call(session.j_del,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
      end
      raise ArgumentError, "Invalid arguments when calling put(#{session})"
    end

### - (`Fixnum`) retry_timeout

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:

- (`Fixnum`) —
  the timeout value, in ms

Raises:

- (`ArgumentError`)

    61
    62
    63
    64
    65
    66
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 61

    def retry_timeout
      if !block_given?
        return @j_del.java_method(:retryTimeout, []).call()
      end
      raise ArgumentError, "Invalid arguments when calling retry_timeout()"
    end

### - (`void`) size { ... }

This method returns an undefined value.

Get the number of sessions in the store.

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

Yields:

- will be called with the number, or a failure

Raises:

- (`ArgumentError`)

    123
    124
    125
    126
    127
    128
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/session_store.rb', line 123

    def size
      if block_given?
        return @j_del.java_method(:size, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
      end
      raise ArgumentError, "Invalid arguments when calling size()"
    end