This is a utility for services implementing leases. The {@link
com.sun.jini.landlord.Landlord} is the basic interface that defines the
utility. A service that exports leases implements the
Landlord interface, which is used for callbacks by the utility
classes when a lease's status changes. Each leased resource is identified
by a landlord-generated {@link net.jini.id.Uuid} called a cookie. The
{@link net.jini.core.lease.Lease} object handed to the client contains the
cookie, and that cookie is used when communicating with the landlord about
the lease.
The utility classes define a lease object type {@link
com.sun.jini.landlord.LandlordLease}. The Lease objects
handed to clients will be of this type. LandlordLease objects
talk to the Landlord about the lease. A factory class, {@link
com.sun.jini.landlord.LeaseFactory}, can be used to generate new
leases. The package also contains a constrainable implementation of
Lease, {@link
com.sun.jini.landlord.ConstrainableLandlordLease}, that implements
{@link net.jini.core.constraint.RemoteMethodControl} and supports proxy
trust verification (when used with {@link
com.sun.jini.landlord.LandlordProxyVerifier}) and suitable implementations
of {@link net.jini.core.lease.LeaseMap}. It also contains utilities and
interfaces to assist you in implementing the Landlord
interfaces: {@link com.sun.jini.landlord.LandlordUtil}, {@link
com.sun.jini.landlord.LeasePeriodPolicy}, and {@link
com.sun.jini.landlord.FixedLeasePeriodPolicy}.
Using the classes in this package, you can write services that export leases and handle primarily those factors that are unique to your service, letting the utility classes do generic lease-related work.