Class LandlordLease

java.lang.Object
com.sun.jini.lease.AbstractLease
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:
  • Constructor Details

    • 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 Details

    • 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)