Shared data allows you to share data safely between different parts of your application in a safe way.

Shared data provides:

- synchronous shared maps (local)
- asynchronous maps (local or cluster-wide)
- asynchronous locks (local or cluster-wide)
- asynchronous counters (local or cluster-wide)

WARNING: In clustered mode, asynchronous maps/locks/counters rely on distributed data structures provided by the cluster manager. Beware that the latency relative to asynchronous maps/locks/counters operations can be much higher in clustered than in local mode.

Please see the documentation for more information.

- `Anything`
  - `Object`
    - `Basic` ...and other supertypes
      - `SharedData`

- `SharedData`
  - `Basic`
    - `Identifiable`
    - `Object`
      - `Anything`

no subtypes hierarchy

Initializer
`SharedData(SharedData unknown)`

Inherited Attributes
Attributes inherited from: `Object` `hash`, `string`

Methods
`getAsyncMap` | `shared default void getAsyncMap<K, V>(String name, Anything(Throwable|AsyncMap<K?,V?>) resultHandler)` Get the AsyncMap with the specified name. When clustered, the map is accessible to all nodes in the cluster and data put into the map from any node is visible to to any other node. WARNING: In clustered mode, asynchronous shared maps rely on distributed data structures provided by the cluster manager. Beware that the latency relative to asynchronous shared maps operations can be much higher in clustered than in local mode. Parameters: `name` the name of the map `resultHandler` the map will be returned asynchronously in this handler
`getClusterWideMap` | `shared default void getClusterWideMap<K, V>(String name, Anything(Throwable|AsyncMap<K?,V?>) resultHandler)` Get the cluster wide map with the specified name. The map is accessible to all nodes in the cluster and data put into the map from any node is visible to to any other node. Parameters: `name` the name of the map `resultHandler` the map will be returned asynchronously in this handler
`getCounter` | `shared default void getCounter(String name, Anything(Throwable|Counter) resultHandler)` Get an asynchronous counter. The counter will be passed to the handler. Parameters: `name` the name of the counter. `resultHandler` the handler
`getLocalMap` | `shared default LocalMap<K?,V?> getLocalMap<K, V>(String name)` Return a `LocalMap` with the specific `name`. Parameters: `name` the name of the map
`getLock` | `shared default void getLock(String name, Anything(Throwable|Lock) resultHandler)` Get an asynchronous lock with the specified name. The lock will be passed to the handler when it is available. Parameters: `name` the name of the lock `resultHandler` the handler
`getLockWithTimeout` | `shared default void getLockWithTimeout(String name, Integer timeout, Anything(Throwable|Lock) resultHandler)` Like getLock but specifying a timeout. If the lock is not obtained within the timeout a failure will be sent to the handler Parameters: `name` the name of the lock `timeout` the timeout in ms `resultHandler` the handler

Inherited Methods
Methods inherited from: `Object` `equals`