GigaSpaces XAP 9.1 API

com.sun.jini.landlord
Class LandlordLease

java.lang.Object
  extended by com.sun.jini.lease.AbstractLease
      extended by com.sun.jini.landlord.LandlordLease
All Implemented Interfaces:
Serializable, Lease, ReferentUuid
Direct Known Subclasses:
ConstrainableLandlordLease, MahaloTxnBasicLease

public class LandlordLease
extends AbstractLease
implements ReferentUuid

Basic implementation of net.jini.core.lease.Lease that works with the the Landlord protocol.

Since:
2.0
Author:
Sun Microsystems, Inc.
See Also:
Landlord, Serialized Form

Field Summary
 
Fields inherited from class com.sun.jini.lease.AbstractLease
expiration, serialFormat
 
Fields inherited from interface net.jini.core.lease.Lease
ABSOLUTE, ANY, DURATION, FOREVER
 
Constructor Summary
LandlordLease(Uuid cookie, Landlord landlord, Uuid landlordUuid, long expiration)
          Create a new LandlordLease.
 
Method Summary
 boolean canBatch(Lease lease)
          Returns a boolean indicating whether or not the lease given as a parameter can be batched (placed in the same LeaseMap) with the current lease.
 void cancel()
          Used by the lease holder to indicate that it is no longer interested in the resource or information held by the lease.
 LeaseMap createLeaseMap(long duration)
          Creates a Map object that can contain leases whose renewal or cancellation can be batched, and adds the current lease to that map.
protected  long doRenew(long renewDuration)
          Renew the lease for a duration relative to now, and return the duration actually granted.
 boolean equals(Object other)
           
 Uuid getReferentUuid()
          Return the Uuid that has been assigned to the resource this proxy represents.
 int hashCode()
           
 void setLandlord(Landlord landlord)
           
 String toString()
           
 
Methods inherited from class com.sun.jini.lease.AbstractLease
getExpiration, getSerialFormat, renew, setSerialFormat
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LandlordLease

public LandlordLease(Uuid cookie,
                     Landlord landlord,
                     Uuid landlordUuid,
                     long expiration)
Create a new LandlordLease.

Parameters:
cookie - a Uuid that universally and uniquely identifies the lease this object is to be a proxy for
landlord - Landlord object that will be used to communicate renew and cancel requests to the granter of the lease
landlordUuid - a universally unique id that has been assigned to the server granting of the lease. Ideally the Uuid landlord.getUuid would return if landlord implemented ReferentUuid. Used to determine when two leases can be batched together.
expiration - the initial expiration time of the lease in milliseconds since the beginning of the epoch
Throws:
NullPointerException - if landlord, landlordUuid or cookie is null
Method Detail

cancel

public void cancel()
            throws UnknownLeaseException,
                   RemoteException
Description copied from interface: Lease
Used by the lease holder to indicate that it is no longer interested in the resource or information held by the lease. If the leased information or resource could cause a callback to the lease holder (or some other object on behalf of the lease holder), the lease grantor should not issue such a callback after the lease has been cancelled. The overall effect of a cancel call is the same as lease expiration, but instead of happening at the end of a pre-agreed duration it happens immediately.

Specified by:
cancel in interface Lease
Throws:
UnknownLeaseException - the lease being cancelled is unknown to the lease grantor
RemoteException

doRenew

protected long doRenew(long renewDuration)
                throws LeaseDeniedException,
                       UnknownLeaseException,
                       RemoteException
Description copied from class: AbstractLease
Renew the lease for a duration relative to now, and return the duration actually granted.

Specified by:
doRenew in class AbstractLease
Throws:
LeaseDeniedException
UnknownLeaseException
RemoteException

getReferentUuid

public Uuid getReferentUuid()
Description copied from interface: ReferentUuid
Return the Uuid that has been assigned to the resource this proxy represents.

Specified by:
getReferentUuid in interface ReferentUuid
Returns:
the Uuid associated with the resource this proxy represents. Will not return null.

equals

public boolean equals(Object other)
Overrides:
equals in class Object

canBatch

public boolean canBatch(Lease lease)
Description copied from interface: Lease
Returns a boolean indicating whether or not the lease given as a parameter can be batched (placed in the same LeaseMap) with the current lease. Whether or not two Lease objects can be batched is an implementation detail determined by the objects.

Specified by:
canBatch in interface Lease
Parameters:
lease - the Lease to be evaluated
Returns:
a boolean indicating whether or not the lease given as a parameter can be batched (placed in the same LeaseMap) with the current lease

createLeaseMap

public LeaseMap createLeaseMap(long duration)
Description copied from interface: Lease
Creates a Map object that can contain leases whose renewal or cancellation can be batched, and adds the current lease to that map. The current lease is put in the map with the duration value given by the parameter.

Specified by:
createLeaseMap in interface Lease
Parameters:
duration - the duration to put into a Long and use as the value for the current lease in the created LeaseMap
Returns:
the created LeaseMap object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object

setLandlord

public void setLandlord(Landlord landlord)

GigaSpaces XAP 9.1 API

Copyright © GigaSpaces.