com.hazelcast.instance

## Class HazelcastInstanceProxy

- java.lang.Object
- - com.hazelcast.instance.HazelcastInstanceProxy

- All Implemented Interfaces:
    HazelcastInstance, com.hazelcast.spi.impl.SerializationServiceSupport

      @PrivateApi
      public final class HazelcastInstanceProxy
      extends Object
      implements HazelcastInstance, com.hazelcast.spi.impl.SerializationServiceSupport

  A proxy around the actual HazelcastInstanceImpl. This class serves 2 purposes:
  1. if the HazelcastInstance is shutdown, the reference to the original HazelcastInstanceImpl is null'ed and this HazelcastInstanceImpl and all its dependencies can be gc'ed. If the HazelcastInstanceImpl would be exposed directly, it could still retain unusable objects due to its not null fields.
  2. it provides a barrier for accessing the HazelcastInstanceImpl internals. Otherwise a simple cast to HazelcastInstanceImpl would be sufficient but now a bit of reflection is needed to get there.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected HazelcastInstanceImpl` | `original`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `HazelcastInstanceProxy(HazelcastInstanceImpl original)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `addDistributedObjectListener(DistributedObjectListener distributedObjectListener)` Adds a Distributed Object listener which will be notified when a new `DistributedObject` will be created or destroyed.
    `boolean` | `equals(Object o)`
    `<T> T` | `executeTransaction(TransactionalTask<T> task)` Executes the given transactional task in current thread using default options and returns the result of the task.
    `<T> T` | `executeTransaction(TransactionOptions options, TransactionalTask<T> task)` Executes the given transactional task in current thread using given options and returns the result of the task.
    `IAtomicLong` | `getAtomicLong(String name)` Creates or returns a cluster-wide atomic long.
    `<E> IAtomicReference<E>` | `getAtomicReference(String name)` Creates or returns a cluster-wide atomic reference.
    `ICacheManager` | `getCacheManager()` Obtain the `ICacheManager` that provides access to JSR-107 (JCache) caches configured on a Hazelcast cluster.
    `CardinalityEstimator` | `getCardinalityEstimator(String name)` Obtain a `CardinalityEstimator` with the given name.
    `ClientService` | `getClientService()` Returns the client service of this Hazelcast instance.
    `Cluster` | `getCluster()` Returns the Cluster that this Hazelcast instance is part of.
    `Config` | `getConfig()` Returns the configuration of this Hazelcast instance.
    `ICountDownLatch` | `getCountDownLatch(String name)` Creates or returns a cluster-wide CountDownLatch.
    `CPSubsystem` | `getCPSubsystem()` Returns the CP subsystem that offers a set of in-memory linearizable data structures
    `<T extends DistributedObject> T` | `getDistributedObject(String serviceName, String name)`
    `Collection<DistributedObject>` | `getDistributedObjects()` Returns all `DistributedObject`s, that is all maps, queues, topics, locks etc.
    `DurableExecutorService` | `getDurableExecutorService(String name)` Creates or returns the durable executor service for the given name.
    `IExecutorService` | `getExecutorService(String name)` Creates or returns the distributed executor service for the given name.
    `FlakeIdGenerator` | `getFlakeIdGenerator(String name)` Creates or returns a cluster-wide unique ID generator.
    `IdGenerator` | `getIdGenerator(String name)` Creates or returns a cluster-wide unique ID generator.
    `JobTracker` | `getJobTracker(String name)` Creates or returns the job tracker instance with the specified name.
    `LifecycleService` | `getLifecycleService()` Returns the lifecycle service for this instance.
    `<E> IList<E>` | `getList(String name)` Creates or returns the distributed list instance with the specified name.
    `Member` | `getLocalEndpoint()` Returns the local Endpoint which this HazelcastInstance belongs to.
    `ILock` | `getLock(String key)` Creates or returns the distributed lock instance for the specified key object.
    `LoggingService` | `getLoggingService()` Returns the logging service of this Hazelcast instance.
    `<K,V> IMap<K,V>` | `getMap(String name)` Creates or returns the distributed map instance with the specified name.
    `<K,V> MultiMap<K,V>` | `getMultiMap(String name)` Creates or returns the distributed multimap instance with the specified name.
    `String` | `getName()` Returns the name of this Hazelcast instance.
    `HazelcastInstanceImpl` | `getOriginal()`
    `PartitionService` | `getPartitionService()` Returns the partition service of this Hazelcast instance.
    `PNCounter` | `getPNCounter(String name)` Creates or returns a `PNCounter` with the given name.
    `<E> IQueue<E>` | `getQueue(String name)` Creates or returns the distributed queue instance with the specified name.
    `QuorumService` | `getQuorumService()` Returns the quorum service of this Hazelcast instance.
    `<E> ITopic<E>` | `getReliableTopic(String name)` Creates or returns the reliable topic instance with the specified name.
    `<K,V> ReplicatedMap<K,V>` | `getReplicatedMap(String name)` Creates or returns the replicated map instance with the specified name.
    `<E> Ringbuffer<E>` | `getRingbuffer(String name)` Creates or returns the distributed Ringbuffer instance with the specified name.
    `IScheduledExecutorService` | `getScheduledExecutorService(String name)` Creates or returns the `IScheduledExecutorService` scheduled executor service for the given name.
    `ISemaphore` | `getSemaphore(String name)` Creates or returns a cluster-wide semaphore.
    `com.hazelcast.internal.serialization.InternalSerializationService` | `getSerializationService()`
    `<E> ISet<E>` | `getSet(String name)` Creates or returns the distributed set instance with the specified name.
    `<E> ITopic<E>` | `getTopic(String name)` Creates or returns the distributed topic instance with the specified name.
    `ConcurrentMap<String,Object>` | `getUserContext()` Returns a ConcurrentMap that can be used to add user-context to the HazelcastInstance.
    `HazelcastXAResource` | `getXAResource()` Gets xaResource which will participate in XATransaction.
    `int` | `hashCode()`
    `TransactionContext` | `newTransactionContext()` Creates a new TransactionContext associated with the current thread using default options.
    `TransactionContext` | `newTransactionContext(TransactionOptions options)` Creates a new TransactionContext associated with the current thread with given options.
    `boolean` | `removeDistributedObjectListener(String registrationId)` Removes the specified Distributed Object listener.
    `void` | `shutdown()` Shuts down this HazelcastInstance.
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### original

          protected volatile HazelcastInstanceImpl original

  - ### Constructor Detail

    - #### HazelcastInstanceProxy

          protected HazelcastInstanceProxy(HazelcastInstanceImpl original)

  - ### Method Detail

    - #### getName

          public String getName()

      Description copied from interface: `HazelcastInstance`
      Returns the name of this Hazelcast instance.
      Specified by:
        `getName` in interface `HazelcastInstance`
      Returns:
        name of this Hazelcast instance

    - #### getMap

          public <K,V> IMap<K,V> getMap(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns the distributed map instance with the specified name.
      Specified by:
        `getMap` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the distributed map
      Returns:
        distributed map instance with the specified name

    - #### getQueue

          public <E> IQueue<E> getQueue(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns the distributed queue instance with the specified name.
      Specified by:
        `getQueue` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the distributed queue
      Returns:
        distributed queue instance with the specified name

    - #### getTopic

          public <E> ITopic<E> getTopic(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns the distributed topic instance with the specified name.
      Specified by:
        `getTopic` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the distributed topic
      Returns:
        distributed topic instance with the specified name

    - #### getReliableTopic

          public <E> ITopic<E> getReliableTopic(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns the reliable topic instance with the specified name.
      Specified by:
        `getReliableTopic` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the reliable topic
      Returns:
        the reliable topic

    - #### getSet

          public <E> ISet<E> getSet(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns the distributed set instance with the specified name.
      Specified by:
        `getSet` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the distributed set
      Returns:
        distributed set instance with the specified name

    - #### getList

          public <E> IList<E> getList(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns the distributed list instance with the specified name. Index based operations on the list are not supported.
      Specified by:
        `getList` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the distributed list
      Returns:
        distributed list instance with the specified name

    - #### getMultiMap

          public <K,V> MultiMap<K,V> getMultiMap(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns the distributed multimap instance with the specified name.
      Specified by:
        `getMultiMap` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the distributed multimap
      Returns:
        distributed multimap instance with the specified name

    - #### getJobTracker

          public JobTracker getJobTracker(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns the job tracker instance with the specified name.
      Specified by:
        `getJobTracker` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the job tracker
      Returns:
        job tracker instance with the specified name

    - #### getRingbuffer

          public <E> Ringbuffer<E> getRingbuffer(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns the distributed Ringbuffer instance with the specified name.
      Specified by:
        `getRingbuffer` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the distributed Ringbuffer
      Returns:
        distributed RingBuffer instance with the specified name

    - #### getLock

          public ILock getLock(String key)

      Description copied from interface: `HazelcastInstance`
      Creates or returns the distributed lock instance for the specified key object. The specified object is considered to be the key for this lock. So keys are considered equals cluster-wide as long as they are serialized to the same byte array such as String, long, Integer.

      Locks are fail-safe. If a member holds a lock and some of the members go down, the cluster will keep your locks safe and available. Moreover, when a member leaves the cluster, all the locks acquired by this dead member will be removed so that these locks can be available for live members immediately.

           Lock lock = hazelcastInstance.getLock("PROCESS_LOCK");
           lock.lock();
           try {
             // process
           } finally {
             lock.unlock();
           }

      Specified by:
        `getLock` in interface `HazelcastInstance`
      Parameters:
        `key` - key of the lock instance
      Returns:
        distributed lock instance for the specified key.

    - #### getExecutorService

          public IExecutorService getExecutorService(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns the distributed executor service for the given name. Executor service enables you to run your `Runnable`s and `Callable`s on the Hazelcast cluster.

      Note: Note that it doesn't support `invokeAll/Any` and doesn't have standard shutdown behavior

      Specified by:
        `getExecutorService` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the executor service
      Returns:
        the distributed executor service for the given name

    - #### getDurableExecutorService

          public DurableExecutorService getDurableExecutorService(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns the durable executor service for the given name. DurableExecutor service enables you to run your `Runnable`s and `Callable`s on the Hazelcast cluster.

      Note: Note that it doesn't support `invokeAll/Any` and doesn't have standard shutdown behavior

      Specified by:
        `getDurableExecutorService` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the executor service
      Returns:
        the durable executor service for the given name

    - #### executeTransaction

          public <T> T executeTransaction(TransactionalTask<T> task)
                                   throws TransactionException

      Description copied from interface: `HazelcastInstance`
      Executes the given transactional task in current thread using default options and returns the result of the task.
      Specified by:
        `executeTransaction` in interface `HazelcastInstance`
      Type Parameters:
        `T` - return type of task
      Parameters:
        `task` - the transactional task to be executed
      Returns:
        result of the transactional task
      Throws:
        `TransactionException` - if an error occurs during transaction.

    - #### executeTransaction

          public <T> T executeTransaction(TransactionOptions options,
                                          TransactionalTask<T> task)
                                   throws TransactionException

      Description copied from interface: `HazelcastInstance`
      Executes the given transactional task in current thread using given options and returns the result of the task.
      Specified by:
        `executeTransaction` in interface `HazelcastInstance`
      Type Parameters:
        `T` - return type of task
      Parameters:
        `options` - options for this transactional task
        `task` - task to be executed
      Returns:
        result of the transactional task
      Throws:
        `TransactionException` - if an error occurs during transaction.

    - #### newTransactionContext

          public TransactionContext newTransactionContext()

      Description copied from interface: `HazelcastInstance`
      Creates a new TransactionContext associated with the current thread using default options.
      Specified by:
        `newTransactionContext` in interface `HazelcastInstance`
      Returns:
        new TransactionContext associated with the current thread

    - #### newTransactionContext

          public TransactionContext newTransactionContext(TransactionOptions options)

      Description copied from interface: `HazelcastInstance`
      Creates a new TransactionContext associated with the current thread with given options.
      Specified by:
        `newTransactionContext` in interface `HazelcastInstance`
      Parameters:
        `options` - options for this transaction
      Returns:
        new TransactionContext associated with the current thread

    - #### getIdGenerator

          public IdGenerator getIdGenerator(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns a cluster-wide unique ID generator. Generated IDs are `long` primitive values between `0` and `Long.MAX_VALUE`. ID generation occurs almost at the speed of local `AtomicLong.incrementAndGet()`. Generated IDs are unique during the life cycle of the cluster. If the entire cluster is restarted, IDs start from `0` again.
      Specified by:
        `getIdGenerator` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the `IdGenerator`
      Returns:
        IdGenerator for the given name

    - #### getFlakeIdGenerator

          public FlakeIdGenerator getFlakeIdGenerator(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns a cluster-wide unique ID generator. Generated IDs are `long` primitive values and are k-ordered (roughly ordered). IDs are in the range from `0` to `Long.MAX_VALUE`.

      The IDs contain timestamp component and a node ID component, which is assigned when the member joins the cluster. This allows the IDs to be ordered and unique without any coordination between members, which makes the generator safe even in split-brain scenario (for caveats, `see here`).

      For more details and caveats, see class documentation for `FlakeIdGenerator`.

      Note: this implementation doesn't share namespace with `HazelcastInstance.getIdGenerator(String)`. That is, `getIdGenerator("a")` is distinct from `getFlakeIdGenerator("a")`.

      Specified by:
        `getFlakeIdGenerator` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the `FlakeIdGenerator`
      Returns:
        FlakeIdGenerator for the given name

    - #### getAtomicLong

          public IAtomicLong getAtomicLong(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns a cluster-wide atomic long. Hazelcast `IAtomicLong` is distributed implementation of `java.util.concurrent.atomic.AtomicLong`.
      Specified by:
        `getAtomicLong` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the `IAtomicLong` proxy
      Returns:
        IAtomicLong proxy for the given name

    - #### getReplicatedMap

          public <K,V> ReplicatedMap<K,V> getReplicatedMap(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns the replicated map instance with the specified name.
      Specified by:
        `getReplicatedMap` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the distributed map
      Returns:
        replicated map instance with specified name

    - #### getAtomicReference

          public <E> IAtomicReference<E> getAtomicReference(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns a cluster-wide atomic reference. Hazelcast `IAtomicReference` is distributed implementation of `java.util.concurrent.atomic.AtomicReference`.
      Specified by:
        `getAtomicReference` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the `IAtomicReference` proxy
      Returns:
        `IAtomicReference` proxy for the given name

    - #### getCountDownLatch

          public ICountDownLatch getCountDownLatch(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns a cluster-wide CountDownLatch. Hazelcast `ICountDownLatch` is distributed implementation of `java.util.concurrent.CountDownLatch`.
      Specified by:
        `getCountDownLatch` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the `ICountDownLatch` proxy
      Returns:
        `ICountDownLatch` proxy for the given name

    - #### getSemaphore

          public ISemaphore getSemaphore(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns a cluster-wide semaphore. Hazelcast `ISemaphore` is distributed implementation of `java.util.concurrent.Semaphore`.
      Specified by:
        `getSemaphore` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the `ISemaphore` proxy
      Returns:
        `ISemaphore` proxy for the given name

    - #### getCacheManager

          public ICacheManager getCacheManager()

      Description copied from interface: `HazelcastInstance`
      Obtain the `ICacheManager` that provides access to JSR-107 (JCache) caches configured on a Hazelcast cluster.

      Note that this method does not return a JCache `CacheManager`; to obtain a JCache `CacheManager` use JCache standard API.

      Specified by:
        `getCacheManager` in interface `HazelcastInstance`
      Returns:
        the Hazelcast `ICacheManager`
      See Also:
        `ICacheManager`

    - #### getCluster

          public Cluster getCluster()

      Description copied from interface: `HazelcastInstance`
      Returns the Cluster that this Hazelcast instance is part of. Cluster interface allows you to add a listener for membership events and to learn more about the cluster that this Hazelcast instance is part of.
      Specified by:
        `getCluster` in interface `HazelcastInstance`
      Returns:
        the cluster that this Hazelcast instance is part of

    - #### getLocalEndpoint

          public Member getLocalEndpoint()

      Description copied from interface: `HazelcastInstance`
      Returns the local Endpoint which this HazelcastInstance belongs to.

      Returned endpoint will be a `Member` instance for cluster nodes and a `Client` instance for clients.

      Specified by:
        `getLocalEndpoint` in interface `HazelcastInstance`
      Returns:
        the local `Endpoint` which this HazelcastInstance belongs to
      See Also:
        `Member`, `Client`

    - #### getDistributedObjects

          public Collection<DistributedObject> getDistributedObjects()

      Description copied from interface: `HazelcastInstance`
      Returns all `DistributedObject`s, that is all maps, queues, topics, locks etc.

      The results are returned on a best-effort basis. The result might miss just-created objects and contain just-deleted objects. An existing object can also be missing from the list occasionally. One cluster member is queried to obtain the list.

      Specified by:
        `getDistributedObjects` in interface `HazelcastInstance`
      Returns:
        the collection of all instances in the cluster

    - #### getConfig

          public Config getConfig()

      Description copied from interface: `HazelcastInstance`
      Returns the configuration of this Hazelcast instance.
      Specified by:
        `getConfig` in interface `HazelcastInstance`
      Returns:
        configuration of this Hazelcast instance

    - #### getPartitionService

          public PartitionService getPartitionService()

      Description copied from interface: `HazelcastInstance`
      Returns the partition service of this Hazelcast instance. InternalPartitionService allows you to introspect current partitions in the cluster, partition the owner members, and listen for partition migration events.
      Specified by:
        `getPartitionService` in interface `HazelcastInstance`
      Returns:
        the partition service of this Hazelcast instance

    - #### getQuorumService

          public QuorumService getQuorumService()

      Description copied from interface: `HazelcastInstance`
      Returns the quorum service of this Hazelcast instance.

      Quorum service can be used to retrieve quorum callbacks which let you to notify quorum results of your own to the cluster quorum service. IMPORTANT: The term "quorum" simply refers to the count of members in the cluster required for an operation to succeed. It does NOT refer to an implementation of Paxos or Raft protocols as used in many NoSQL and distributed systems. The mechanism it provides in Hazelcast protects the user in case the number of nodes in a cluster drops below the specified one.

      Specified by:
        `getQuorumService` in interface `HazelcastInstance`
      Returns:
        the quorum service of this Hazelcast instance

    - #### getClientService

          public ClientService getClientService()

      Description copied from interface: `HazelcastInstance`
      Returns the client service of this Hazelcast instance. Client service allows you to get information about connected clients.
      Specified by:
        `getClientService` in interface `HazelcastInstance`
      Returns:
        the `ClientService` of this Hazelcast instance.

    - #### getLoggingService

          public LoggingService getLoggingService()

      Description copied from interface: `HazelcastInstance`
      Returns the logging service of this Hazelcast instance.

      LoggingService allows you to listen for LogEvents generated by Hazelcast runtime. You can log the events somewhere or take action based on the message.

      Specified by:
        `getLoggingService` in interface `HazelcastInstance`
      Returns:
        the logging service of this Hazelcast instance

    - #### getLifecycleService

          public LifecycleService getLifecycleService()

      Description copied from interface: `HazelcastInstance`
      Returns the lifecycle service for this instance.

      LifecycleService allows you to shutdown this HazelcastInstance and listen for the lifecycle events.

      Specified by:
        `getLifecycleService` in interface `HazelcastInstance`
      Returns:
        the lifecycle service for this instance

    - #### getDistributedObject

          public <T extends DistributedObject> T getDistributedObject(String serviceName,
                                                                      String name)

      Specified by:
        `getDistributedObject` in interface `HazelcastInstance`
      Type Parameters:
        `T` - type of the DistributedObject
      Parameters:
        `serviceName` - name of the service
        `name` - name of the object
      Returns:
        DistributedObject created by the service

    - #### addDistributedObjectListener

          public String addDistributedObjectListener(DistributedObjectListener distributedObjectListener)

      Description copied from interface: `HazelcastInstance`
      Adds a Distributed Object listener which will be notified when a new `DistributedObject` will be created or destroyed.
      Specified by:
        `addDistributedObjectListener` in interface `HazelcastInstance`
      Parameters:
        `distributedObjectListener` - instance listener
      Returns:
        returns registration ID

    - #### removeDistributedObjectListener

          public boolean removeDistributedObjectListener(String registrationId)

      Description copied from interface: `HazelcastInstance`
      Removes the specified Distributed Object listener. Returns silently if the specified instance listener does not exist.
      Specified by:
        `removeDistributedObjectListener` in interface `HazelcastInstance`
      Parameters:
        `registrationId` - ID of listener registration
      Returns:
        `true` if registration is removed, `false` otherwise

    - #### getUserContext

          public ConcurrentMap<String,Object> getUserContext()

      Description copied from interface: `HazelcastInstance`
      Returns a ConcurrentMap that can be used to add user-context to the HazelcastInstance. This can be used to store dependencies that otherwise are hard to obtain. HazelcastInstance can be obtained by implementing a `HazelcastInstanceAware` interface when submitting a Runnable/Callable to Hazelcast ExecutorService. By storing the dependencies in the user-context, they can be retrieved as soon as you have a reference to the HazelcastInstance.

      This structure is purely local and Hazelcast remains agnostic abouts its content.

      Specified by:
        `getUserContext` in interface `HazelcastInstance`
      Returns:
        a ConcurrentMap that can be used to add user-context to the HazelcastInstance.

    - #### getXAResource

          public HazelcastXAResource getXAResource()

      Description copied from interface: `HazelcastInstance`
      Gets xaResource which will participate in XATransaction.
      Specified by:
        `getXAResource` in interface `HazelcastInstance`
      Returns:
        the xaResource

    - #### getCardinalityEstimator

          public CardinalityEstimator getCardinalityEstimator(String name)

      Description copied from interface: `HazelcastInstance`
      Obtain a `CardinalityEstimator` with the given name.

      The estimator can be used to efficiently estimate the cardinality of unique entities in big data sets, without the need of storing them.

      The estimator is based on a HyperLogLog++ data-structure.

      Specified by:
        `getCardinalityEstimator` in interface `HazelcastInstance`
      Parameters:
        `name` - the name of the estimator
      Returns:
        a `CardinalityEstimator`

    - #### getPNCounter

          public PNCounter getPNCounter(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns a `PNCounter` with the given name.

      The PN counter can be used as a counter with strong eventual consistency guarantees - if operations to the counters stop, the counter values of all replicas that can communicate with each other should eventually converge to the same value.

      Specified by:
        `getPNCounter` in interface `HazelcastInstance`
      Parameters:
        `name` - the name of the PN counter
      Returns:
        a `PNCounter`

    - #### getScheduledExecutorService

          public IScheduledExecutorService getScheduledExecutorService(String name)

      Description copied from interface: `HazelcastInstance`
      Creates or returns the `IScheduledExecutorService` scheduled executor service for the given name. ScheduledExecutor service enables you to schedule your `Runnable`s and `Callable`s on the Hazelcast cluster.
      Specified by:
        `getScheduledExecutorService` in interface `HazelcastInstance`
      Parameters:
        `name` - name of the executor service
      Returns:
        the scheduled executor service for the given name

    - #### getCPSubsystem

          public CPSubsystem getCPSubsystem()

      Description copied from interface: `HazelcastInstance`
      Returns the CP subsystem that offers a set of in-memory linearizable data structures
      Specified by:
        `getCPSubsystem` in interface `HazelcastInstance`
      Returns:
        the CP subsystem that offers a set of in-memory linearizable data structures

    - #### shutdown

          public void shutdown()

      Description copied from interface: `HazelcastInstance`
      Shuts down this HazelcastInstance. For more information see `LifecycleService.shutdown()`.
      Specified by:
        `shutdown` in interface `HazelcastInstance`

    - #### getSerializationService

          public com.hazelcast.internal.serialization.InternalSerializationService getSerializationService()

      Specified by:
        `getSerializationService` in interface `com.hazelcast.spi.impl.SerializationServiceSupport`

    - #### getOriginal

          public HazelcastInstanceImpl getOriginal()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `Object`

Copyright © 2020. All rights reserved.