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, setSerialFormatString getUID()
int getVersion()
T getObject()
WriteModifiers.RETURN_PREV_ON_UPDATE is used, otherwise null)Copyright © GigaSpaces.