/* * @(#)HashPrintJobAttributeSet.java 1.6 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package javax.print.attribute; import java.io.Serializable; /** * Class HashPrintJobAttributeSet provides an attribute set * which inherits its implementation from class {@link HashAttributeSet * HashAttributeSet} and enforces the semantic restrictions of interface * {@link PrintJobAttributeSet PrintJobAttributeSet}. *

* * @author Alan Kaminsky */ public class HashPrintJobAttributeSet extends HashAttributeSet implements PrintJobAttributeSet, Serializable { private static final long serialVersionUID = -4204473656070350348L; /** * Construct a new, empty hash print job attribute set. */ public HashPrintJobAttributeSet() { super(PrintJobAttribute.class); } /** * Construct a new hash print job attribute set, * initially populated with the given value. * * @param attribute Attribute value to add to the set. * * @exception NullPointerException * (unchecked exception) Thrown if attribute is null. */ public HashPrintJobAttributeSet(PrintJobAttribute attribute) { super(attribute, PrintJobAttribute.class); } /** * Construct a new hash print job attribute set, * initially populated with the values from the given array. * The new attribute set is populated * by adding the elements of attributes array to the set in * sequence, starting at index 0. Thus, later array elements may replace * earlier array elements if the array contains duplicate attribute * values or attribute categories. * * @param attributes Array of attribute values to add to the set. * If null, an empty attribute set is constructed. * * @exception NullPointerException (unchecked exception) * Thrown if any element of attributes is null. */ public HashPrintJobAttributeSet(PrintJobAttribute[] attributes) { super (attributes, PrintJobAttribute.class); } /** * Construct a new attribute set, initially populated with the * values from the given set where the members of the attribute set * are restricted to the PrintJobAttribute interface. * * @param attributes set of attribute values to initialise the set. If * null, an empty attribute set is constructed. * * @exception ClassCastException * (unchecked exception) Thrown if any element of * attributes is not an instance of * PrintJobAttribute. */ public HashPrintJobAttributeSet(PrintJobAttributeSet attributes) { super(attributes, PrintJobAttribute.class); } }