The Lease interface defines a type of object that is returned to the
lease holder and issued by the lease grantor. Particular instances of
the Lease type will be created by the grantors of a lease, and returned
to the holder of the lease as part of the return value from a call that
allocates a leased resource. The call that requests a leased resource
will typically include a requested duration for the lease. If the request
is for a particular duration, the lease grantor is required to grant a
lease of no more than the requested period of time. A lease may be granted
for a period of time shorter than that requested.
The serialized form of the lease will convert the time of lease
expiration into a duration (in milliseconds) from the time of
serialization. This form is best used when transmitting a Lease
object from one address space to another (via an RMI call) where
it cannot be assumed that the address spaces have synchronized clocks.
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.
Used to renew a lease for an additional period of time, specified in
milliseconds. This duration is not added to the original lease, but
is used to determine a new expiration time for the existing lease.
If the renewal is granted this is reflected in value returned by
getExpiration. If the renewal fails, the lease is left intact for
the same duration that was in force prior to the call to renew.
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.
duration - the duration to put into a Long and use as the
value for the current lease in the created LeaseMap
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.
lease - the Lease to be evaluated
a boolean indicating whether or not the lease given as a
parameter can be batched (placed in the same LeaseMap) with
the current lease