com.hazelcast.concurrent.lock.operations
Class LockOperation

java.lang.Object
  extended by com.hazelcast.spi.Operation
      extended by com.hazelcast.spi.AbstractOperation
          extended by com.hazelcast.concurrent.lock.operations.LockOperation
All Implemented Interfaces:
DataSerializable, IdentifiedDataSerializable, BackupAwareOperation, RemotePropagatable<Operation>, PartitionAwareOperation, WaitSupport

public class LockOperation
extends AbstractOperation
implements WaitSupport, 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
LockOperation()
           
LockOperation(ObjectNamespace namespace, Data key, long threadId, long timeout)
           
LockOperation(ObjectNamespace namespace, Data key, long threadId, long ttl, long timeout)
           
 
Method Summary
 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()
           
 Object getResponse()
           
 String getServiceName()
           
 int getSyncBackupCount()
           
 WaitNotifyKey getWaitKey()
           
 void onWaitExpire()
           
protected  void readInternal(ObjectDataInput in)
           
 void run()
           
 void setAsyncBackup(boolean asyncBackup)
           
 boolean shouldBackup()
          Checks if a backup needs to be made.
 boolean shouldWait()
           
protected  void writeInternal(ObjectDataOutput out)
           
 
Methods inherited from class com.hazelcast.spi.AbstractOperation
afterRun, 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.WaitSupport
getWaitTimeout
 
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

LockOperation

public LockOperation()

LockOperation

public LockOperation(ObjectNamespace namespace,
                     Data key,
                     long threadId,
                     long timeout)

LockOperation

public LockOperation(ObjectNamespace namespace,
                     Data key,
                     long threadId,
                     long ttl,
                     long timeout)
Method Detail

run

public void run()
         throws Exception
Specified by:
run in class Operation
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.

getWaitKey

public final WaitNotifyKey getWaitKey()
Specified by:
getWaitKey in interface WaitSupport

shouldWait

public final boolean shouldWait()
Specified by:
shouldWait in interface WaitSupport

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

onWaitExpire

public final void onWaitExpire()
Specified by:
onWaitExpire in interface WaitSupport

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

writeInternal

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

readInternal

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


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