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