//******************************************************************************
//
// File:    PrintJobAndLease.java
// Package: net.jini.print.job
// Unit:    Class net.jini.print.job.PrintJobAndLease
//
//******************************************************************************

package net.jini.print.job;

import java.io.Serializable;

import net.jini.core.lease.Lease;

/**
 * Class PrintJobAndLease is a container for a {@link PrintJob PrintJob} object 
 * and its associated lease object. Methods in interface {@link PrintRequest 
 * PrintRequest} that return a reference to a Print Job actually return both the 
 * Print Job and its lease, enclosed in a PrintJobAndLease object. 
 * <P>
 * <B>DRAFT STANDARD VERSION 1.0 (23-MAY-2000)</B>
 *
 * @author  Alan Kaminsky
 * @version 14-Mar-2000
 */
public class PrintJobAndLease
	implements Serializable
	{

// Exported data members.

	/**
	 * Print Job object.
	 * @serial
	 */
	public final PrintJob printJob;

	/**
	 * Lease object associated with the {@link #printJob <CODE>printJob</CODE>}.
	 * @serial
	 */
	public final Lease lease;

// Exported constructors.

	/**
	 * Constructs a new print-job-and-lease object containing the given print 
	 * job object and lease object. 
	 *
	 * @param  thePrintJob  Print Job object.
	 * @param  theLease     Lease object associated with
	 *                      <CODE>thePrintJob</CODE>.
	 */
	public PrintJobAndLease
		(PrintJob thePrintJob,
		 Lease theLease)
		{
		printJob = thePrintJob;
		lease = theLease;
		}
	
	}