//******************************************************************************
//
// File:    MultiDocSettings.java
// Package: net.jini.print.service
// Unit:    Class net.jini.print.service.MultiDocSettings
//
//******************************************************************************

package net.jini.print.service;

import java.io.Serializable;

import javax.print.attribute.AttributeSet;

/**
 * Class MultiDocSettings is a record holding the settings for a supposed 
 * multiple-document print job, used by the capability methods in interface 
 * {@link MultiDocPrintService MultiDocPrintService}. 
 * <P>
 * <B>DRAFT STANDARD VERSION 1.0 (23-MAY-2000)</B>
 *
 * @author  Alan Kaminsky
 * @version 12-May-2000
 */
public class MultiDocSettings
	implements Serializable
	{

// Exported data members.

	/**
	 * Array of {@link Settings Settings} objects. Each element in the array 
	 * corresponds to an individual doc in the print job and gives the print 
	 * data format (doc flavor) and document-level attributes for that doc. A 
	 * null element in the array means the corresponding doc's settings are 
	 * unspecified. A null value for <CODE>docSettings</CODE> is equivalent to a 
	 * zero-length array, both denoting a print job with no docs. 
	 * @serial
	 */
	public Settings[] docSettings = null;

	/**
	 * Attribute set giving the job-level printing attributes for the supposed 
	 * print job. A value of null is equivalent to an empty set. 
	 * @serial
	 */
	public AttributeSet attributes = null;

// Exported constructors.

	/**
	 * Constructs a new multidoc settings object initialized with a null array 
	 * of doc settings and a null attribute set. 
	 */
	public MultiDocSettings()
		{
		}

	/**
	 * Constructs a new multidoc settings object initialized with the given 
	 * array of doc settings and the given attribute set. 
	 *
	 * @param  theDocSettings  Array of doc settings, or null.
	 * @param  theAttributes   Attribute set, or null.
	 */
	public MultiDocSettings
		(Settings[] theDocSettings,
		 AttributeSet theAttributes)
		{
		this.docSettings = theDocSettings;
		this.attributes = theAttributes;
		}

	}