/* * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ /** * Package {@code javax.print.attribute.standard} contains classes for specific * printing attributes. The parent package, * javax.print.attribute, provides classes and interfaces that describe the * types of Java Print Service attributes and how they can be collected into * attribute sets. *
* An attribute represents a printing feature that a print service can provide. * For each attribute, a print service either does or does not support the * attribute. For each possible value of a supported attribute, a print service * either does or does not support the value. *
* The API requires every print service to support certain attributes; other * attributes are optional and the service can choose whether or not to support * them. Each attribute has a set of values that it accepts. The API requires * every print service to support certain values for certain attributes; other * attribute values are optional and the service can choose whether or not to * support them. These support requirements are recorded in the documentation * for each attribute class. *
* Package {@code javax.print.attribute.standard} contains standard printing * attributes and standard printing attribute values that are widely used in the * printing domain. A print service vendor can provide new vendor-specific * printing attributes in addition to the standard ones. A vendor can also * provide vendor-specific extensions (subclasses) of the standard printing * attributes -- for example, to provide additional vendor-specific values for * an existing standard attribute. Of course, if a vendor wants clients to be * able to use any added or extended attributes, the vendor must publish the new * attribute classes. *
* Many of the standard attribute classes extend one of the abstract syntax * classes of the {@code javax.print.attribute} package. These abstract syntax * classes each represent a different type. The * EnumSyntax class, for example, represents a type-safe enumeration. The * abstract syntax class provides a wrapper for the attribute value. *
* If an attribute class extends {@code EnumSyntax}, and the value of the * attribute is an IPP-compatible value, the attribute's {@code toString} method * returns the IPP string representation of the attribute value, such as * "processing-stopped" for the JobState attribute. * However, because the {@code EnumSyntax} class is extensible, vendors can * define their own attribute values. If an attribute uses the * {@code EnumSyntax} class and is set to one of these vendor-defined values * then the {@code toString} method will not return the IPP string * representation of the value. *
* A printing client application will typically not need to use all the printing * attribute classes in package javax.print.attribute.standard, just the ones * that pertain to the application. *
* The attribute classes in package {@code javax.print.attribute.standard} are * based on the Internet Printing Protocol (IPP) attributes as defined in the * Internet RFC document, RFC 2911 Internet Printing Protocol/1.1: Model and * Semantics dated September 2000. See * RFC 2911 for more * information. The descriptive text for each attribute class was taken largely * from the above documents. The above authors' contribution to the API is * gratefully acknowledged. * *
* Some attributes are doc attributes but not print request attributes and may * only be specified at the doc level. Some attributes are print request * attributes but not doc attributes and may only be specified at the Print * Request level. Some attributes are both doc attributes and print request * attributes and may be specified either at the doc level or at the Print * Request level. *
* When specified at the doc level, an attribute applies just to that one doc. * When specified at the Print Request level, an attribute applies to the whole * job, including all the docs in the job. However, an attribute specified at * the doc level overrides an attribute in the same category specified at the * Print Request level. * *
* Some attributes are both print request attributes and print job attributes; a * client may include such attributes in a Print Request to specify * characteristics for the ensuing Print Job, and those attributes then also * appear in the Print Job's attribute set. Some attributes are print job * attributes but not print request attributes; the print service itself adds * these attributes to the Print Job's attribute set. * *
Attribute Class * | Doc Attribute * | Print Request Attribute * | Print Job Attribute * | Print Service Attribute * | SupportedValuesAttribute * |
---|---|---|---|---|---|
Compression * | X * | * | * | * | * |
DocumentName * | X * | * | * | * | * |
Chromaticity * | X * | X * | X * | * | * |
Copies * | * | X * | X * | * | CopiesSupported * |
Finishings * | X * | X * | X * | * | * |
JobHoldUntil * | * | X * | X * | * | * |
JobImpressions * | * | X * | X * | * | JobImpressionsSupported * |
JobKOctets * | * | X * | X * | * | JobKOctetsSupported * |
JobMediaSheets * | * | X * | X * | * | JobMediaSheetsSupported * |
JobName * | * | X * | X * | * | * |
JobPriority * | * | X * | X * | * | JobPrioritySupported * |
JobSheets * | * | X * | X * | * | * |
Media * | X * | X * | X * | * | * |
MediaSize * | * | * | * | * | * |
* MultipleDocumentHandling * | * | X * | X * | * | * |
NumberUp * | X * | X * | X * | * | NumberUpSupported * |
* OrientationRequested * | X * | X * | X * | * | * |
PageRanges * | X * | X * | X * | * | * |
* PresentationDirection * | X * | X * | X * | * | * |
PrinterResolution * | X * | X * | X * | * | * |
PrintQuality * | X * | X * | X * | * | * |
RequestingUserName * | * | X * | X * | * | * |
SheetCollate * | X * | X * | X * | * | * |
Sides * | X * | X * | X * | * | * |
* DateTimeAtCompleted * | * | * | X * | * | * |
DateTimeAtCreation * | * | * | X * | * | * |
* DateTimeAtProcessing * | * | * | X * | * | * |
* JobImpressionsCompleted * | * | * | X * | * | * |
* JobKOctetsProcessed * | * | * | X * | * | * |
* JobMediaSheetsCompleted * | * | * | X * | * | * |
* JobMessageFromOperator * | * | * | X * | * | * |
* JobOriginatingUserName * | * | * | X * | * | * |
JobState * | * | * | X * | * | * |
JobStateReasons
* * Contains zero or more -- * | * | * | X * | * | * |
-- JobStateReason * | * | * | * | * | * |
NumberOfDocuments * | * | * | X * | * | * |
* NumberOfInterveningJobs * | * | * | X * | * | * |
* OutputDeviceAssigned * | * | * | X * | * | * |
ColorSupported * | * | * | * | X * | * |
PagesPerMinute * | * | * | * | X * | * |
* PagesPerMinuteColor * | * | * | * | X * | * |
* PDLOverrideSupported * | * | * | * | X * | * |
* PrinterIsAcceptingJobs * | * | * | * | X * | * |
PrinterInfo * | * | * | * | X * | * |
PrinterLocation * | * | * | * | X * | * |
* PrinterMessageFromOperator * | * | * | * | X * | * |
* PrinterMakeAndModel * | * | * | * | X * | * |
PrinterMoreInfo * | * | * | * | X * | * |
* PrinterMoreInfoManufacturer * | * | * | * | X * | * |
PrinterName * | * | * | * | X * | * |
PrinterState * | * | * | * | X * | * |
* PrinterStateReasons
* * Contains zero or more -- * | * | * | * | X * | * |
-- * PrinterStateReason * | * | * | * | * | * |
-- Severity * | * | * | * | * | * |
QueuedJobCount * | * | * | * | X * | * |
* ReferenceUriSchemesSupported * | * | * | * | * | * |
* Please note: In the {@code javax.print} APIs, a {@code null} reference * parameter to methods is incorrect unless explicitly documented on the method * as having a meaningful interpretation. Usage to the contrary is incorrect * coding and may result in a run time exception either immediately or at some * later time. {@code IllegalArgumentException} and {@code NullPointerException} * are examples of typical and acceptable run time exceptions for such cases. * * @since 1.4 */ package javax.print.attribute.standard;