com.hazelcast.concurrent.lock.operations
Class UnlockOperation

java.lang.Object
  extended by com.hazelcast.spi.Operation
      extended by com.hazelcast.spi.AbstractOperation
          extended by com.hazelcast.concurrent.lock.operations.UnlockOperation
All Implemented Interfaces:
DataSerializable, IdentifiedDataSerializable, BackupAwareOperation, RemotePropagatable<Operation>, Notifier, PartitionAwareOperation
Direct Known Subclasses:
LocalLockCleanupOperation, UnlockIfLeaseExpiredOperation

public class UnlockOperation
extends AbstractOperation
implements Notifier, BackupAwareOperation


Field Summary
static int ANY_THREAD
           
static long DEFAULT_LOCK_TTL
           
protected  Data key
           
protected  ObjectNamespace namespace
           
protected  Object response
           
protected  long threadId
           
protected  long ttl
           
 
Constructor Summary
UnlockOperation()
           
UnlockOperation(ObjectNamespace namespace, Data key, long threadId)
           
UnlockOperation(ObjectNamespace namespace, Data key, long threadId, boolean force)
           
 
Method Summary
 void afterRun()
           
protected  void forceUnlock()
           
 int getAsyncBackupCount()
           
 Operation getBackupOperation()
          Creates the BackupOperation responsible for making the backup.
 int getFactoryId()
          Returns DataSerializableFactory factory id for this class.
 int getId()
          Returns type identifier for this class.
 Data getKey()
           
protected  LockStoreImpl getLockStore()
           
 WaitNotifyKey getNotifiedKey()
           
 Object getResponse()
           
 String getServiceName()
           
 int getSyncBackupCount()
           
protected  void readInternal(ObjectDataInput in)
           
 void run()
           
 void setAsyncBackup(boolean asyncBackup)
           
 boolean shouldBackup()
          Checks if a backup needs to be made.
 boolean shouldNotify()
           
protected  void unlock()
           
protected  void writeInternal(ObjectDataOutput out)
           
 
Methods inherited from class com.hazelcast.spi.AbstractOperation
beforeRun, 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.BackupAwareOperation
getAsyncBackupCount, getSyncBackupCount
 
Methods inherited from interface com.hazelcast.spi.PartitionAwareOperation
getPartitionId
 
Methods inherited from interface com.hazelcast.nio.serialization.DataSerializable
readData, writeData
 

Field Detail

DEFAULT_LOCK_TTL

public static final long DEFAULT_LOCK_TTL
See Also:
Constant Field Values

ANY_THREAD

public static final int ANY_THREAD
See Also:
Constant Field Values

namespace

protected ObjectNamespace namespace

key

protected Data key

threadId

protected long threadId

ttl

protected long ttl

response

protected transient Object response
Constructor Detail

UnlockOperation

public UnlockOperation()

UnlockOperation

public UnlockOperation(ObjectNamespace namespace,
                       Data key,
                       long threadId)

UnlockOperation

public UnlockOperation(ObjectNamespace namespace,
                       Data key,
                       long threadId,
                       boolean force)
Method Detail

run

public void run()
         throws Exception
Specified by:
run in class Operation
Throws:
Exception

unlock

protected final void unlock()

forceUnlock

protected final void forceUnlock()

afterRun

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

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.

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.

shouldNotify

public boolean shouldNotify()
Specified by:
shouldNotify in interface Notifier

getNotifiedKey

public final 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

writeInternal

protected void writeInternal(ObjectDataOutput out)
                      throws IOException
Throws:
IOException

readInternal

protected void readInternal(ObjectDataInput in)
                     throws IOException
Throws:
IOException

getResponse

public final Object getResponse()
Overrides:
getResponse in class AbstractOperation

getLockStore

protected final LockStoreImpl getLockStore()

getSyncBackupCount

public final int getSyncBackupCount()

getAsyncBackupCount

public final int getAsyncBackupCount()

setAsyncBackup

public final void setAsyncBackup(boolean asyncBackup)

getServiceName

public final String getServiceName()
Overrides:
getServiceName in class Operation

getKey

public final Data getKey()

getFactoryId

public int getFactoryId()
Description copied from interface: IdentifiedDataSerializable
Returns DataSerializableFactory factory id for this class.

Specified by:
getFactoryId in interface IdentifiedDataSerializable
Returns:
factory id


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