com.hazelcast.concurrent.semaphore.operations

## Class SemaphoreDetachMemberOperation

- java.lang.Object
- - com.hazelcast.spi.Operation
  - - com.hazelcast.spi.impl.AbstractNamedOperation
    - - com.hazelcast.concurrent.semaphore.operations.SemaphoreOperation
      - - com.hazelcast.concurrent.semaphore.operations.SemaphoreBackupAwareOperation
        - - com.hazelcast.concurrent.semaphore.operations.SemaphoreDetachMemberOperation

- All Implemented Interfaces:
    DataSerializable, IdentifiedDataSerializable, BackupAwareOperation, NamedOperation, Notifier, PartitionAwareOperation

      public class SemaphoreDetachMemberOperation
      extends SemaphoreBackupAwareOperation
      implements Notifier

- - ### Field Summary

    - ### Fields inherited from class com.hazelcast.concurrent.semaphore.operations.SemaphoreOperation

      `permitCount, response`

    - ### Fields inherited from class com.hazelcast.spi.impl.AbstractNamedOperation

      `name`

    - ### Fields inherited from class com.hazelcast.spi.Operation

      `GENERIC_PARTITION_ID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SemaphoreDetachMemberOperation()`
    `SemaphoreDetachMemberOperation(String name, String detachedMemberUuid)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getAsyncBackupCount()` The asynchronous backup count.
    `Operation` | `getBackupOperation()` Creates the `BackupOperation` responsible for making the backup.
    `int` | `getId()` Returns type identifier for this class.
    `WaitNotifyKey` | `getNotifiedKey()`
    `int` | `getSyncBackupCount()` The synchronous backup count.
    `void` | `readInternal(ObjectDataInput in)`
    `void` | `run()` Runs the operation.
    `boolean` | `shouldBackup()` Checks if a backup needs to be made.
    `boolean` | `shouldNotify()`
    `void` | `writeInternal(ObjectDataOutput out)`

    - ### Methods inherited from class com.hazelcast.concurrent.semaphore.operations.SemaphoreOperation

      `getFactoryId, getResponse, getSemaphoreContainer, getServiceName`

    - ### Methods inherited from class com.hazelcast.spi.impl.AbstractNamedOperation

      `getName, toString`

    - ### Methods inherited from class com.hazelcast.spi.Operation

      `afterRun, beforeRun, call, executedLocally, getCallerAddress, getCallerUuid, getCallId, getCallTimeout, getConnection, getInvocationTime, getLogger, getNodeEngine, getOperationResponseHandler, getPartitionId, getReplicaIndex, getService, getWaitTimeout, isUrgent, logError, onExecutionFailure, onInvocationException, onSetCallId, readData, requiresExplicitServiceName, returnsResponse, sendResponse, setCallerUuid, setNodeEngine, setOperationResponseHandler, setPartitionId, setReplicaIndex, setService, setServiceName, setValidateTarget, setWaitTimeout, toString, validatesTarget, writeData`

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

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

    - ### Methods inherited from interface com.hazelcast.spi.PartitionAwareOperation

      `getPartitionId`

    - ### Methods inherited from interface com.hazelcast.nio.serialization.DataSerializable

      `readData, writeData`

- - ### Constructor Detail

    - #### SemaphoreDetachMemberOperation

          public SemaphoreDetachMemberOperation()

    - #### SemaphoreDetachMemberOperation

          public SemaphoreDetachMemberOperation(String name,
                                                String detachedMemberUuid)

  - ### Method Detail

    - #### run

          public void run()
                   throws Exception

      Description copied from class: `Operation`
      Runs the operation. Either the `Operation.run()` or `Operation.call()` method should be implemented; not both. Runs after wait-support, supposed to do actual operation
      Overrides:
        `run` in class `Operation`
      Throws:
        `Exception`
      See Also:
        `Operation.call()`

    - #### shouldBackup

          public boolean shouldBackup()

      Description copied from interface: `BackupAwareOperation`
      Checks if a backup needs to be made.

      If a call has not made any change, e.g. an AtomicLong increment with 0, no backup needs to be made.
      Specified by:
        `shouldBackup` in interface `BackupAwareOperation`
      Returns:
        true if a backup needs to be made, false otherwise.

    - #### getAsyncBackupCount

          public int getAsyncBackupCount()

      Description copied from interface: `BackupAwareOperation`
      The asynchronous backup count. If no asynchronous backups need to be made, 0 is returned.
      Specified by:
        `getAsyncBackupCount` in interface `BackupAwareOperation`
      Overrides:
        `getAsyncBackupCount` in class `SemaphoreBackupAwareOperation`
      Returns:
        the asynchronous backup count.

    - #### getSyncBackupCount

          public int getSyncBackupCount()

      Description copied from interface: `BackupAwareOperation`
      The synchronous backup count. If no backups need to be made, 0 is returned.
      Specified by:
        `getSyncBackupCount` in interface `BackupAwareOperation`
      Overrides:
        `getSyncBackupCount` in class `SemaphoreBackupAwareOperation`
      Returns:
        the synchronous backup count.

    - #### getBackupOperation

          public Operation getBackupOperation()

      Description copied from interface: `BackupAwareOperation`
      Creates the `BackupOperation` responsible for making the backup.
      Specified by:
        `getBackupOperation` in interface `BackupAwareOperation`
      Returns:
        the created `BackupOperation` responsible for making the backup.

    - #### shouldNotify

          public boolean shouldNotify()

      Specified by:
        `shouldNotify` in interface `Notifier`

    - #### getNotifiedKey

          public WaitNotifyKey getNotifiedKey()

      Specified by:
        `getNotifiedKey` in interface `Notifier`

    - #### getId

          public int getId()

      Description copied from interface: `IdentifiedDataSerializable`
      Returns type identifier for this class. It should be unique per DataSerializableFactory.
      Specified by:
        `getId` in interface `IdentifiedDataSerializable`
      Returns:
        type ID

    - #### writeInternal

          public void writeInternal(ObjectDataOutput out)
                             throws IOException

      Overrides:
        `writeInternal` in class `SemaphoreOperation`
      Throws:
        `IOException`

    - #### readInternal

          public void readInternal(ObjectDataInput in)
                            throws IOException

      Overrides:
        `readInternal` in class `SemaphoreOperation`
      Throws:
        `IOException`

Copyright © 2019. All rights reserved.