com.hazelcast.client.util

## Class ClientStateListener

- java.lang.Object
- - com.hazelcast.client.util.ClientStateListener

- All Implemented Interfaces:
    LifecycleListener, EventListener

      public class ClientStateListener
      extends Object
      implements LifecycleListener

  Helper class for the user to track the lifecycle state of the client. The user will instantiate this listener and it will be registered to the client configuration. If the provided client config is not used while instantiating the client, this helper class will not be useful. It is the user's responsibility to instantiate the client with the same ClientConfig which was used to instantiate this helper.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ClientStateListener(ClientConfig clientConfig)` Registers this instance with the provided client configuration

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `awaitConnected()` Waits until the client is connected to cluster.
    `boolean` | `awaitConnected(long timeout, TimeUnit unit)` Waits until the client is connected to cluster or the timeout expires.
    `boolean` | `awaitDisconnected()` Waits until the client is disconnected from the cluster.
    `boolean` | `awaitDisconnected(long timeout, TimeUnit unit)` Waits until the client is disconnected from the cluster or the timeout expires.
    `LifecycleEvent.LifecycleState` | `getCurrentState()`
    `boolean` | `isConnected()`
    `boolean` | `isShutdown()`
    `boolean` | `isStarted()`
    `void` | `stateChanged(LifecycleEvent event)` Called when instance's state changes.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ClientStateListener

          public ClientStateListener(ClientConfig clientConfig)

      Registers this instance with the provided client configuration
      Parameters:
        `clientConfig` - The client configuration to which this listener will be registered

  - ### Method Detail

    - #### stateChanged

          public void stateChanged(LifecycleEvent event)

      Description copied from interface: `LifecycleListener`
      Called when instance's state changes. No blocking calls should be made in this method.
      Specified by:
        `stateChanged` in interface `LifecycleListener`
      Parameters:
        `event` - the Lifecycle event

    - #### awaitConnected

          public boolean awaitConnected(long timeout,
                                        TimeUnit unit)
                                 throws InterruptedException

      Waits until the client is connected to cluster or the timeout expires. Does not wait if the client is already shutting down or shutdown.
      Parameters:
        `timeout` - the maximum time to wait
        `unit` - the time unit of the `timeout` argument
      Returns:
        true if the client is connected to the cluster. On returning false, you can check if timeout occured or the client is shutdown using `isShutdown` `getCurrentState`
      Throws:
        `InterruptedException`

    - #### awaitConnected

          public boolean awaitConnected()
                                 throws InterruptedException

      Waits until the client is connected to cluster. Does not wait if the client is already shutting down or shutdown.
      Returns:
        returns whatever `awaitConnected(long timeout, TimeUnit unit)` returns.
      Throws:
        `InterruptedException`

    - #### awaitDisconnected

          public boolean awaitDisconnected(long timeout,
                                           TimeUnit unit)
                                    throws InterruptedException

      Waits until the client is disconnected from the cluster or the timeout expires. Does not wait if the client is already shutting down or shutdown.
      Parameters:
        `timeout` - the maximum time to wait
        `unit` - the time unit of the `timeout` argument
      Returns:
        true if the client is disconnected to the cluster. On returning false, you can check if timeout occured or the client is shutdown using `isShutdown` `getCurrentState`
      Throws:
        `InterruptedException`

    - #### awaitDisconnected

          public boolean awaitDisconnected()
                                    throws InterruptedException

      Waits until the client is disconnected from the cluster. Does not wait if the client is already shutting down or shutdown.
      Returns:
        returns whatever `awaitDisconnected(long timeout, TimeUnit unit)` returns.
      Throws:
        `InterruptedException`

    - #### isConnected

          public boolean isConnected()

      Returns:
        true if the client is connected.

    - #### isShutdown

          public boolean isShutdown()

      Returns:
        true if the client is shutdown.

    - #### isStarted

          public boolean isStarted()

      Returns:
        true if the client is started.

    - #### getCurrentState

          public LifecycleEvent.LifecycleState getCurrentState()

      Returns:
        The current lifecycle state of the client.

Copyright © 2019. All rights reserved.