public interface LeaseContext<T> extends Lease
Using either IPojoSpace.write(Object, net.jini.core.transaction.Transaction, long)
or
IPojoSpace.write(Object, net.jini.core.transaction.Transaction, long, long, int)
with the
UpdateModifiers.UPDATE_OR_WRITE
returns a LeaseContext according to UPDATE-OR-WRITE semantics.
The update-or-write operation is atomic - either a write or an update is performed.
LeaseContext's
getObject()
returns:
//first write
LeaseContext lease = space.write((Object)o, null, 1000);
lease.getUID(); //returns UID of written object
lease.getOriginalObject(); //returns null on first write
lease.renew(Lease.FOREVER);
//second write - equivalent to update
lease = space.write((Object)o, null, 1000);
lease.getUID(); //returns UID of object
lease.getOriginalObject(); //returns previous value (i.e. of previous write)
try{
lease.renew(Lease.FOREVER);
}catch(UnsupportedOperationException e) {
//not a real lease - constructed by update.
}
Modifier and Type | Method and Description |
---|---|
T |
getObject()
returns the previous value associated with this update-or-write operation.
|
String |
getUID()
Returns UID of written Entry.
|
int |
getVersion()
Returns the version of written \ updated entry.
|
canBatch, cancel, createLeaseMap, getExpiration, getSerialFormat, renew, setSerialFormat
String getUID()
int getVersion()
T getObject()
WriteModifiers.RETURN_PREV_ON_UPDATE
is used, otherwise null)Copyright © GigaSpaces.