1 /* 2 * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 package javax.print.attribute.standard; 26 27 import javax.print.attribute.Attribute; 28 import javax.print.attribute.IntegerSyntax; 29 import javax.print.attribute.PrintRequestAttribute; 30 import javax.print.attribute.PrintJobAttribute; 31 32 /** 33 * Class JobPriority is an integer valued printing attribute class that 34 * specifies a print job's priority. 35 * <P> 36 * If a JobPriority attribute is specified for a Print Job, it specifies a 37 * priority for scheduling the job. A higher value specifies a higher priority. 38 * The value 1 indicates the lowest possible priority. The value 100 indicates 39 * the highest possible priority. Among those jobs that are ready to print, a 40 * printer must print all jobs with a priority value of <I>n</I> before printing 41 * those with a priority value of <I>n</I>-1 for all <I>n.</I> 42 * <P> 43 * If the client does not specify a JobPriority attribute for a Print Job and 44 * the printer does support the JobPriority attribute, the printer must use an 45 * implementation-defined default JobPriority value. 46 * <P> 47 * The client can always specify any job priority value from 1 to 100 for a job. 48 * However, a Print Service instance may support fewer than 100 different 49 * job priority levels. If this is the case, the Print Service instance 50 * automatically maps the client-specified job priority value to one of the 51 * supported job priority levels, dividing the 100 job priority values equally 52 * among the available job priority levels. 53 * <P> 54 * <B>IPP Compatibility:</B> The integer value gives the IPP integer value. The 55 * category name returned by {@code getName()} gives the IPP attribute 56 * name. 57 * 58 * @author Alan Kaminsky 59 */ 60 public final class JobPriority extends IntegerSyntax 61 implements PrintRequestAttribute, PrintJobAttribute { 62 63 private static final long serialVersionUID = -4599900369040602769L; 64 65 /** 66 * Construct a new job priority attribute with the given integer value. 67 * 68 * @param value Integer value. 69 * 70 * @exception IllegalArgumentException 71 * (Unchecked exception) Thrown if {@code value} is less than 1 72 * or greater than 100. 73 */ 74 public JobPriority(int value) { 75 super (value, 1, 100); 76 } 77 78 /** 79 * Returns whether this job priority attribute is equivalent to the passed 80 * in object. To be equivalent, all of the following conditions must be 81 * true: 82 * <OL TYPE=1> 83 * <LI> 84 * {@code object} is not null. 85 * <LI> 86 * {@code object} is an instance of class JobPriority. 87 * <LI> 88 * This job priority attribute's value and {@code object}'s value 89 * are equal. 90 * </OL> 91 * 92 * @param object Object to compare to. 93 * 94 * @return True if {@code object} is equivalent to this job 95 * priority attribute, false otherwise. 96 */ 97 public boolean equals(Object object) { 98 return (super.equals (object) && object instanceof JobPriority); 99 } 100 101 /** 102 * Get the printing attribute class which is to be used as the "category" 103 * for this printing attribute value. 104 * <P> 105 * For class JobPriority, the category is class JobPriority itself. 106 * 107 * @return Printing attribute class (category), an instance of class 108 * {@link java.lang.Class java.lang.Class}. 109 */ 110 public final Class<? extends Attribute> getCategory() { 111 return JobPriority.class; 112 } 113 114 /** 115 * Get the name of the category of which this attribute value is an 116 * instance. 117 * <P> 118 * For class JobPriority, the category name is {@code "job-priority"}. 119 * 120 * @return Attribute category name. 121 */ 122 public final String getName() { 123 return "job-priority"; 124 } 125 126 } | 1 /* 2 * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package javax.print.attribute.standard; 27 28 import javax.print.attribute.Attribute; 29 import javax.print.attribute.IntegerSyntax; 30 import javax.print.attribute.PrintJobAttribute; 31 import javax.print.attribute.PrintRequestAttribute; 32 33 /** 34 * Class {@code JobPriority} is an integer valued printing attribute class that 35 * specifies a print job's priority. 36 * <p> 37 * If a {@code JobPriority} attribute is specified for a Print Job, it specifies 38 * a priority for scheduling the job. A higher value specifies a higher 39 * priority. The value 1 indicates the lowest possible priority. The value 100 40 * indicates the highest possible priority. Among those jobs that are ready to 41 * print, a printer must print all jobs with a priority value of <i>n</i> before 42 * printing those with a priority value of <i>n</i>-1 for all <i>n.</i> 43 * <p> 44 * If the client does not specify a {@code JobPriority} attribute for a Print 45 * Job and the printer does support the JobPriority attribute, the printer must 46 * use an implementation-defined default JobPriority value. 47 * <p> 48 * The client can always specify any job priority value from 1 to 100 for a job. 49 * However, a Print Service instance may support fewer than 100 different job 50 * priority levels. If this is the case, the Print Service instance 51 * automatically maps the client-specified job priority value to one of the 52 * supported job priority levels, dividing the 100 job priority values equally 53 * among the available job priority levels. 54 * <p> 55 * <b>IPP Compatibility:</b> The integer value gives the IPP integer value. The 56 * category name returned by {@code getName()} gives the IPP attribute name. 57 * 58 * @author Alan Kaminsky 59 */ 60 public final class JobPriority extends IntegerSyntax 61 implements PrintRequestAttribute, PrintJobAttribute { 62 63 /** 64 * Use serialVersionUID from JDK 1.4 for interoperability. 65 */ 66 private static final long serialVersionUID = -4599900369040602769L; 67 68 /** 69 * Construct a new job priority attribute with the given integer value. 70 * 71 * @param value Integer value 72 * @throws IllegalArgumentException if {@code value} is less than 1 or 73 * greater than 100 74 */ 75 public JobPriority(int value) { 76 super (value, 1, 100); 77 } 78 79 /** 80 * Returns whether this job priority attribute is equivalent to the passed 81 * in object. To be equivalent, all of the following conditions must be 82 * true: 83 * <ol type=1> 84 * <li>{@code object} is not {@code null}. 85 * <li>{@code object} is an instance of class {@code JobPriority}. 86 * <li>This job priority attribute's value and {@code object}'s value are 87 * equal. 88 * </ol> 89 * 90 * @param object {@code Object} to compare to 91 * @return {@code true} if {@code object} is equivalent to this job priority 92 * attribute, {@code false} otherwise 93 */ 94 public boolean equals(Object object) { 95 return (super.equals (object) && object instanceof JobPriority); 96 } 97 98 /** 99 * Get the printing attribute class which is to be used as the "category" 100 * for this printing attribute value. 101 * <p> 102 * For class {@code JobPriority}, the category is class 103 * {@code JobPriority} itself. 104 * 105 * @return printing attribute class (category), an instance of class 106 * {@link Class java.lang.Class} 107 */ 108 public final Class<? extends Attribute> getCategory() { 109 return JobPriority.class; 110 } 111 112 /** 113 * Get the name of the category of which this attribute value is an 114 * instance. 115 * <p> 116 * For class {@code JobPriority}, the category name is 117 * {@code "job-priority"}. 118 * 119 * @return attribute category name 120 */ 121 public final String getName() { 122 return "job-priority"; 123 } 124 } |