com.hazelcast.queue.impl.operations
Class CompareAndRemoveOperation

java.lang.Object
  extended by com.hazelcast.spi.Operation
      extended by com.hazelcast.queue.impl.operations.QueueOperation
          extended by com.hazelcast.queue.impl.operations.QueueBackupAwareOperation
              extended by com.hazelcast.queue.impl.operations.CompareAndRemoveOperation
All Implemented Interfaces:
DataSerializable, IdentifiedDataSerializable, BackupAwareOperation, RemotePropagatable<Operation>, Notifier, PartitionAwareOperation

public class CompareAndRemoveOperation
extends QueueBackupAwareOperation
implements Notifier

This class triggers iterator and if find same item in the Queue, remove this item.


Field Summary
 
Fields inherited from class com.hazelcast.queue.impl.operations.QueueOperation
name, response
 
Constructor Summary
CompareAndRemoveOperation()
           
CompareAndRemoveOperation(String name, Collection<Data> dataList, boolean retain)
           
 
Method Summary
 void afterRun()
           
 Operation getBackupOperation()
          Creates the BackupOperation responsible for making the backup.
 int getId()
          Returns type identifier for this class.
 WaitNotifyKey getNotifiedKey()
           
protected  void readInternal(ObjectDataInput in)
           
 void run()
           
 boolean shouldBackup()
          Checks if a backup needs to be made.
 boolean shouldNotify()
           
protected  void writeInternal(ObjectDataOutput out)
           
 
Methods inherited from class com.hazelcast.queue.impl.operations.QueueBackupAwareOperation
getAsyncBackupCount, getSyncBackupCount
 
Methods inherited from class com.hazelcast.queue.impl.operations.QueueOperation
beforeRun, getFactoryId, getName, getOrCreateContainer, getQueueService, getResponse, getServiceName, hasListener, publishEvent, returnsResponse
 
Methods inherited from class com.hazelcast.spi.Operation
getCallerAddress, getCallerUuid, getCallId, getCallTimeout, getConnection, getExecutorName, getInvocationTime, getLogger, getNodeEngine, getPartitionId, getReplicaIndex, getResponseHandler, getService, getWaitTimeout, isUrgent, logError, onException, readData, setCallerUuid, setExecutorName, setNodeEngine, setPartitionId, setReplicaIndex, setResponseHandler, 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

CompareAndRemoveOperation

public CompareAndRemoveOperation()

CompareAndRemoveOperation

public CompareAndRemoveOperation(String name,
                                 Collection<Data> dataList,
                                 boolean retain)
Method Detail

run

public void run()
Specified by:
run in class Operation

afterRun

public void afterRun()
              throws Exception
Overrides:
afterRun in class QueueOperation
Throws:
Exception

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.

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.

writeInternal

protected void writeInternal(ObjectDataOutput out)
                      throws IOException
Overrides:
writeInternal in class QueueOperation
Throws:
IOException

readInternal

protected void readInternal(ObjectDataInput in)
                     throws IOException
Overrides:
readInternal in class QueueOperation
Throws:
IOException

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. Id should be unique per DataSerializableFactory.

Specified by:
getId in interface IdentifiedDataSerializable
Returns:
type id


Copyright © 2015 Hazelcast, Inc.. All Rights Reserved.