Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sun.jini.landlord
Class LandlordLease

    java.lang.Object
      com.sun.jini.lease.AbstractLease
          com.sun.jini.landlord.LandlordLease

All Implemented Interfaces:
  Lease, ReferentUuid, Serializable

Direct Known Subclasses:
  ConstrainableLandlordLease

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
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()`
`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:
    `RemoteException`
    `UnknownLeaseException` - the lease being cancelled is unknown to the lease grantor

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

### 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()

### toString

    public String toString()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 Sun Microsystems, Inc. All rights reserved