Liking cljdoc? Tell your friends :D

javax.print.attribute.Attribute

Interface Attribute is the base interface implemented by any and every printing attribute class to indicate that the class represents a printing attribute. All printing attributes are serializable.

Interface Attribute is the base interface implemented by any and every
printing attribute class to indicate that the class represents a
printing attribute. All printing attributes are serializable.
raw docstring

javax.print.attribute.AttributeSet

Interface AttributeSet specifies the interface for a set of printing attributes. A printing attribute is an object whose class implements interface Attribute.

An attribute set contains a group of attribute values, where duplicate values are not allowed in the set. Furthermore, each value in an attribute set is a member of some category, and at most one value in any particular category is allowed in the set. For an attribute set, the values are Attribute objects, and the categories are Class objects. An attribute's category is the class (or interface) at the root of the class hierarchy for that kind of attribute. Note that an attribute object's category may be a superclass of the attribute object's class rather than the attribute object's class itself. An attribute object's category is determined by calling the getCategory() method defined in interface Attribute.

The interfaces of an AttributeSet resemble those of the Java Collections API's java.util.Map interface, but is more restrictive in the types it will accept, and combines keys and values into an Attribute.

Attribute sets are used in several places in the Print Service API. In each context, only certain kinds of attributes are allowed to appear in the attribute set, as determined by the tagging interfaces which the attribute class implements -- DocAttribute, PrintRequestAttribute, PrintJobAttribute, and PrintServiceAttribute. There are four specializations of an attribute set that are restricted to contain just one of the four kinds of attribute -- DocAttributeSet, PrintRequestAttributeSet, PrintJobAttributeSet, and PrintServiceAttributeSet, respectively. Note that many attribute classes implement more than one tagging interface and so may appear in more than one context.

A DocAttributeSet, containing DocAttributes, specifies the characteristics of an individual doc and the print job settings to be applied to an individual doc.

A PrintRequestAttributeSet, containing PrintRequestAttributes, specifies the settings to be applied to a whole print job and to all the docs in the print job.

A PrintJobAttributeSet, containing PrintJobAttributes, reports the status of a print job.

A PrintServiceAttributeSet, containing PrintServiceAttributes, reports the status of a Print Service instance.

In some contexts, the client is only allowed to examine an attribute set's contents but not change them (the set is read-only). In other places, the client is allowed both to examine and to change an attribute set's contents (the set is read-write). For a read-only attribute set, calling a mutating operation throws an UnmodifiableSetException.

The Print Service API provides one implementation of interface AttributeSet, class HashAttributeSet. A client can use class HashAttributeSet or provide its own implementation of interface AttributeSet. The Print Service API also provides implementations of interface AttributeSet's subinterfaces -- classes HashDocAttributeSet, HashPrintRequestAttributeSet, HashPrintJobAttributeSet, and HashPrintServiceAttributeSet.

Interface AttributeSet specifies the interface for a set of printing
attributes. A printing attribute is an object whose class implements
interface Attribute.

An attribute set contains a group of attribute values,
where duplicate values are not allowed in the set.
Furthermore, each value in an attribute set is
a member of some category, and at most one value in any particular
category is allowed in the set. For an attribute set, the values are Attribute objects, and the categories are Class objects. An attribute's category is the class (or interface) at the
root of the class hierarchy for that kind of attribute. Note that an
attribute object's category may be a superclass of the attribute object's
class rather than the attribute object's class itself. An attribute
object's
category is determined by calling the getCategory() method defined in interface Attribute.

The interfaces of an AttributeSet resemble those of the Java Collections
API's java.util.Map interface, but is more restrictive in the types
it will accept, and combines keys and values into an Attribute.

Attribute sets are used in several places in the Print Service API. In
each context, only certain kinds of attributes are allowed to appear in the
attribute set, as determined by the tagging interfaces which the attribute
class implements -- DocAttribute, PrintRequestAttribute, PrintJobAttribute, and PrintServiceAttribute.
There are four specializations of an attribute set that are restricted to
contain just one of the four kinds of attribute -- DocAttributeSet, PrintRequestAttributeSet,
PrintJobAttributeSet, and PrintServiceAttributeSet, respectively. Note that
many attribute classes implement more than one tagging interface and so may
appear in more than one context.


A DocAttributeSet, containing DocAttributes, specifies the characteristics of an individual doc and the
print job settings to be applied to an individual doc.


A PrintRequestAttributeSet, containing
PrintRequestAttributes, specifies the
settings
to be applied to a whole print job and to all the docs in the print job.


A PrintJobAttributeSet, containing PrintJobAttributes, reports the status of a print job.


A PrintServiceAttributeSet, containing
PrintServiceAttributes, reports the status of
 a Print Service instance.


In some contexts, the client is only allowed to examine an attribute set's
contents but not change them (the set is read-only). In other places, the
client is allowed both to examine and to change an attribute set's contents
(the set is read-write). For a read-only attribute set, calling a mutating
operation throws an UnmodifiableSetException.

The Print Service API provides one implementation of interface
AttributeSet, class HashAttributeSet.
A client can use class HashAttributeSet or provide its own implementation of
interface AttributeSet. The Print Service API also provides
implementations of interface AttributeSet's subinterfaces -- classes HashDocAttributeSet,
HashPrintRequestAttributeSet, HashPrintJobAttributeSet, and HashPrintServiceAttributeSet.
raw docstring

javax.print.attribute.AttributeSetUtilities

Class AttributeSetUtilities provides static methods for manipulating AttributeSets.

Methods for creating unmodifiable and synchronized views of attribute sets. operations useful for building implementations of interface AttributeSet

An unmodifiable view U of an AttributeSet S provides a client with "read-only" access to S. Query operations on U "read through" to S; thus, changes in S are reflected in U. However, any attempt to modify U, results in an UnmodifiableSetException. The unmodifiable view object U will be serializable if the attribute set object S is serializable.

A synchronized view V of an attribute set S provides a client with synchronized (multiple thread safe) access to S. Each operation of V is synchronized using V itself as the lock object and then merely invokes the corresponding operation of S. In order to guarantee mutually exclusive access, it is critical that all access to S is accomplished through V. The synchronized view object V will be serializable if the attribute set object S is serializable.

As mentioned in the package description of javax.print, a 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. IllegalArgumentException and NullPointerException are examples of typical and acceptable run time exceptions for such cases.

Class AttributeSetUtilities provides static methods for manipulating
AttributeSets.

Methods for creating unmodifiable and synchronized views of attribute
sets.
operations useful for building
implementations of interface AttributeSet


An unmodifiable view U of an AttributeSet S provides a
client with "read-only" access to S. Query operations on U
"read through" to S; thus, changes in S are reflected in
U. However, any attempt to modify U,
 results in an UnmodifiableSetException.
The unmodifiable view object U will be serializable if the
attribute set object S is serializable.

A synchronized view V of an attribute set S provides a
client with synchronized (multiple thread safe) access to S. Each
operation of V is synchronized using V itself as the lock
object and then merely invokes the corresponding operation of S. In
order to guarantee mutually exclusive access, it is critical that all
access to S is accomplished through V. The synchronized view
object V will be serializable if the attribute set object S
is serializable.

As mentioned in the package description of javax.print, a 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. IllegalArgumentException and NullPointerException
are examples of typical and acceptable run time exceptions for such cases.
raw docstring

javax.print.attribute.core

No vars found in this namespace.

javax.print.attribute.DateTimeSyntax

Class DateTimeSyntax is an abstract base class providing the common implementation of all attributes whose value is a date and time.

Under the hood, a date-time attribute is stored as a value of class java.util.Date. You can get a date-time attribute's Date value by calling getValue(). A date-time attribute's Date value is established when it is constructed (see DateTimeSyntax(Date)). Once constructed, a date-time attribute's value is immutable.

To construct a date-time attribute from separate values of the year, month, day, hour, minute, and so on, use a java.util.Calendar object to construct a java.util.Date object, then use the java.util.Date object to construct the date-time attribute. To convert a date-time attribute to separate values of the year, month, day, hour, minute, and so on, create a java.util.Calendar object and set it to the java.util.Date from the date-time attribute. Class DateTimeSyntax stores its value in the form of a java.util.Date

rather than a java.util.Calendar because it typically takes less memory to store and less time to compare a java.util.Date than a java.util.Calendar.

Class DateTimeSyntax is an abstract base class providing the common
implementation of all attributes whose value is a date and time.

Under the hood, a date-time attribute is stored as a value of class
java.util.Date. You can get a date-time attribute's Date value by
calling getValue(). A date-time attribute's
Date value is established when it is constructed (see DateTimeSyntax(Date)). Once
constructed, a date-time attribute's value is immutable.

To construct a date-time attribute from separate values of the year, month,
day, hour, minute, and so on, use a java.util.Calendar
object to construct a java.util.Date object, then use the
java.util.Date object to construct the date-time attribute.
To convert
a date-time attribute to separate values of the year, month, day, hour,
minute, and so on, create a java.util.Calendar object and
set it to the java.util.Date from the date-time attribute. Class
DateTimeSyntax stores its value in the form of a java.util.Date

rather than a java.util.Calendar because it typically takes
less memory to store and less time to compare a java.util.Date
than a java.util.Calendar.
raw docstring

javax.print.attribute.DocAttribute

Interface DocAttribute is a tagging interface which a printing attribute class implements to indicate the attribute denotes a setting for a doc. ("Doc" is a short, easy-to-pronounce term that means "a piece of print data.") The client may include a DocAttribute in a Doc's attribute set to specify a characteristic of that doc. If an attribute implements PrintRequestAttribute as well as DocAttribute, the client may include the attribute in a attribute set which specifies a print job to specify a characteristic for all the docs in that job.

Interface DocAttribute is a tagging interface which a printing attribute
class implements to indicate the attribute denotes a setting for a doc.
("Doc" is a short, easy-to-pronounce term that means "a piece of print
data.") The client may include a DocAttribute in a Doc's
attribute set to specify a characteristic of
that doc. If an attribute implements PrintRequestAttribute as well as DocAttribute, the client may include the
attribute in a attribute set which specifies a print job
to specify a characteristic for all the docs in that job.
raw docstring

No vars found in this namespace.

javax.print.attribute.DocAttributeSet

Interface DocAttributeSet specifies the interface for a set of doc attributes, i.e. printing attributes that implement interface DocAttribute. In the Print Service API, the client uses a DocAttributeSet to specify the characteristics of an individual doc and the print job settings to be applied to an individual doc.

A DocAttributeSet is just an AttributeSet whose constructors and mutating operations guarantee an additional invariant, namely that all attribute values in the DocAttributeSet must be instances of interface DocAttribute. The add(Attribute), and addAll(AttributeSet) operations are respecified below to guarantee this additional invariant.

Interface DocAttributeSet specifies the interface for a set of doc
attributes, i.e. printing attributes that implement interface DocAttribute. In the Print Service API, the client uses a
DocAttributeSet to specify the characteristics of an individual doc and
the print job settings to be applied to an individual doc.

A DocAttributeSet is just an AttributeSet whose
constructors and mutating operations guarantee an additional invariant,
namely that all attribute values in the DocAttributeSet must be instances
of interface DocAttribute.
The add(Attribute), and
addAll(AttributeSet) operations
are respecified below to guarantee this additional invariant.
raw docstring

javax.print.attribute.EnumSyntax

Class EnumSyntax is an abstract base class providing the common implementation of all "type safe enumeration" objects. An enumeration class (which extends class EnumSyntax) provides a group of enumeration values (objects) that are singleton instances of the enumeration class; for example:

public class Bach extends EnumSyntax {
    public static final Bach JOHANN_SEBASTIAN     = new Bach(0);
    public static final Bach WILHELM_FRIEDEMANN   = new Bach(1);
    public static final Bach CARL_PHILIP_EMMANUEL = new Bach(2);
    public static final Bach JOHANN_CHRISTIAN     = new Bach(3);
    public static final Bach P_D_Q                = new Bach(4);

    private static final String[] stringTable = {
        "Johann Sebastian Bach",
         "Wilhelm Friedemann Bach",
         "Carl Philip Emmanuel Bach",
         "Johann Christian Bach",
         "P.D.Q. Bach"
    };

    protected String[] getStringTable() {
        return stringTable;
    }

    private static final Bach[] enumValueTable = {
        JOHANN_SEBASTIAN,
         WILHELM_FRIEDEMANN,
         CARL_PHILIP_EMMANUEL,
         JOHANN_CHRISTIAN,
         P_D_Q
    };

    protected EnumSyntax[] getEnumValueTable() {
        return enumValueTable;
    }
}

You can then write code that uses the == and != operators to test enumeration values; for example:

Bach theComposer;
. . .
if (theComposer == Bach.JOHANN_SEBASTIAN) {
    System.out.println ("The greatest composer of all time!");
}

The equals() method for an enumeration class just does a test for identical objects (==).

You can convert an enumeration value to a string by calling toString(). The string is obtained from a table supplied by the enumeration class.

Under the hood, an enumeration value is just an integer, a different integer for each enumeration value within an enumeration class. You can get an enumeration value's integer value by calling getValue(). An enumeration value's integer value is established when it is constructed (see EnumSyntax(int)). Since the constructor is protected, the only possible enumeration values are the singleton objects declared in the enumeration class; additional enumeration values cannot be created at run time.

You can define a subclass of an enumeration class that extends it with additional enumeration values. The subclass's enumeration values' integer values need not be distinct from the superclass's enumeration values' integer values; the ==, !=, equals(), and toString() methods will still work properly even if the subclass uses some of the same integer values as the superclass. However, the application in which the enumeration class and subclass are used may need to have distinct integer values in the superclass and subclass.

Class EnumSyntax is an abstract base class providing the common
implementation of all "type safe enumeration" objects. An enumeration class
(which extends class EnumSyntax) provides a group of enumeration values
(objects) that are singleton instances of the enumeration class; for example:


    public class Bach extends EnumSyntax {
        public static final Bach JOHANN_SEBASTIAN     = new Bach(0);
        public static final Bach WILHELM_FRIEDEMANN   = new Bach(1);
        public static final Bach CARL_PHILIP_EMMANUEL = new Bach(2);
        public static final Bach JOHANN_CHRISTIAN     = new Bach(3);
        public static final Bach P_D_Q                = new Bach(4);

        private static final String[] stringTable = {
            "Johann Sebastian Bach",
             "Wilhelm Friedemann Bach",
             "Carl Philip Emmanuel Bach",
             "Johann Christian Bach",
             "P.D.Q. Bach"
        };

        protected String[] getStringTable() {
            return stringTable;
        }

        private static final Bach[] enumValueTable = {
            JOHANN_SEBASTIAN,
             WILHELM_FRIEDEMANN,
             CARL_PHILIP_EMMANUEL,
             JOHANN_CHRISTIAN,
             P_D_Q
        };

        protected EnumSyntax[] getEnumValueTable() {
            return enumValueTable;
        }
    }
You can then write code that uses the == and !=
operators to test enumeration values; for example:


    Bach theComposer;
    . . .
    if (theComposer == Bach.JOHANN_SEBASTIAN) {
        System.out.println ("The greatest composer of all time!");
    }
The equals() method for an enumeration class just does a test
for identical objects (==).

You can convert an enumeration value to a string by calling toString(). The string is obtained from a table
supplied by the enumeration class.

Under the hood, an enumeration value is just an integer, a different integer
for each enumeration value within an enumeration class. You can get an
enumeration value's integer value by calling getValue(). An enumeration value's integer value is established
when it is constructed (see EnumSyntax(int)). Since the constructor is protected, the only
possible enumeration values are the singleton objects declared in the
enumeration class; additional enumeration values cannot be created at run
time.

You can define a subclass of an enumeration class that extends it with
additional enumeration values. The subclass's enumeration values' integer
values need not be distinct from the superclass's enumeration values' integer
values; the ==, !=, equals(), and
toString() methods will still work properly even if the subclass
uses some of the same integer values as the superclass. However, the
application in which the enumeration class and subclass are used may need to
have distinct integer values in the superclass and subclass.
raw docstring

javax.print.attribute.HashAttributeSet

Class HashAttributeSet provides an AttributeSet implementation with characteristics of a hash map.

Class HashAttributeSet provides an AttributeSet
implementation with characteristics of a hash map.
raw docstring

javax.print.attribute.HashDocAttributeSet

Class HashDocAttributeSet provides an attribute set which inherits its implementation from class HashAttributeSet and enforces the semantic restrictions of interface DocAttributeSet.

Class HashDocAttributeSet provides an attribute set which
inherits its implementation from class HashAttributeSet and enforces the semantic restrictions of interface DocAttributeSet.
raw docstring

javax.print.attribute.HashPrintJobAttributeSet

Class HashPrintJobAttributeSet provides an attribute set which inherits its implementation from class HashAttributeSet and enforces the semantic restrictions of interface PrintJobAttributeSet.

Class HashPrintJobAttributeSet provides an attribute set
which inherits its implementation from class HashAttributeSet and enforces the semantic restrictions of interface
PrintJobAttributeSet.
raw docstring

javax.print.attribute.HashPrintRequestAttributeSet

Class HashPrintRequestAttributeSet inherits its implementation from class HashAttributeSet and enforces the semantic restrictions of interface PrintRequestAttributeSet.

Class HashPrintRequestAttributeSet inherits its implementation from
class HashAttributeSet and enforces the
semantic restrictions of interface
PrintRequestAttributeSet.
raw docstring

javax.print.attribute.HashPrintServiceAttributeSet

Class HashPrintServiceAttributeSet provides an attribute set which inherits its implementation from class HashAttributeSet and enforces the semantic restrictions of interface PrintServiceAttributeSet.

Class HashPrintServiceAttributeSet provides an attribute set
which inherits its implementation from class HashAttributeSet and enforces the semantic restrictions of interface
PrintServiceAttributeSet.
raw docstring

javax.print.attribute.IntegerSyntax

Class IntegerSyntax is an abstract base class providing the common implementation of all attributes with integer values.

Under the hood, an integer attribute is just an integer. You can get an integer attribute's integer value by calling getValue(). An integer attribute's integer value is established when it is constructed (see IntegerSyntax(int)). Once constructed, an integer attribute's value is immutable.

Class IntegerSyntax is an abstract base class providing the common
implementation of all attributes with integer values.

Under the hood, an integer attribute is just an integer. You can get an
integer attribute's integer value by calling getValue(). An integer attribute's integer value is
established when it is constructed (see IntegerSyntax(int)). Once constructed, an integer attribute's
value is immutable.
raw docstring

javax.print.attribute.PrintJobAttribute

PrintJobAttribute is a tagging interface which a printing attribute class implements to indicate the attribute describes the status of a Print Job or some other characteristic of a Print Job. A Print Service instance adds a number of PrintJobAttributes to a Print Job's attribute set to report the Print Job's status. If an attribute implements PrintRequestAttribute as well as PrintJobAttribute, the client may include the attribute in a attribute set to specify the attribute's value for the Print Job.

PrintJobAttribute is a tagging interface which a printing attribute
class implements to indicate the attribute describes the status of a Print
Job or some other characteristic of a Print Job. A Print Service
instance adds a number of PrintJobAttributes to a Print Job's attribute set
to report the Print Job's status. If an attribute implements PrintRequestAttribute as well as PrintJobAttribute,
the client may include the attribute in a attribute set to
specify the attribute's value for the Print Job.
raw docstring

No vars found in this namespace.

javax.print.attribute.PrintJobAttributeSet

Interface PrintJobAttributeSet specifies the interface for a set of print job attributes, i.e. printing attributes that implement interface PrintJobAttribute. In the Print Service API, a service uses a PrintJobAttributeSet to report the status of a print job.

A PrintJobAttributeSet is just an AttributeSet whose constructors and mutating operations guarantee an additional invariant, namely that all attribute values in the PrintJobAttributeSet must be instances of interface PrintJobAttribute. The add(Attribute), and

addAll(AttributeSet) operations are respecified below to guarantee this additional invariant.

Interface PrintJobAttributeSet specifies the interface for a set of print
job attributes, i.e. printing attributes that implement interface PrintJobAttribute. In the Print Service API, a
service uses a PrintJobAttributeSet to report the status of a print job.

A PrintJobAttributeSet is just an AttributeSet whose
constructors and mutating operations guarantee an additional invariant,
namely that all attribute values in the PrintJobAttributeSet must be
instances of interface PrintJobAttribute.
The add(Attribute), and
>addAll(AttributeSet) operations
are respecified below to guarantee this additional invariant.
raw docstring

javax.print.attribute.PrintRequestAttribute

Interface PrintRequestAttribute is a tagging interface which a printing attribute class implements to indicate the attribute denotes a requested setting for a print job.

Attributes which are tagged with PrintRequestAttribute and are also tagged as PrintJobAttribute, represent the subset of job attributes which can be part of the specification of a job request.

If an attribute implements DocAttribute as well as PrintRequestAttribute, the client may include the attribute in a Doc}'s attribute set to specify a job setting which pertains just to that doc.

Interface PrintRequestAttribute is a tagging interface which a printing
attribute class implements to indicate the attribute denotes a
requested setting for a print job.

Attributes which are tagged with PrintRequestAttribute and are also tagged
as PrintJobAttribute, represent the subset of job attributes which
can be part of the specification of a job request.

If an attribute implements DocAttribute
as well as PrintRequestAttribute, the client may include the
attribute in a Doc}'s attribute set to specify
a job setting which pertains just to that doc.
raw docstring

No vars found in this namespace.

javax.print.attribute.PrintRequestAttributeSet

Interface PrintRequestAttributeSet specifies the interface for a set of print request attributes, i.e. printing attributes that implement interface PrintRequestAttribute. The client uses a PrintRequestAttributeSet to specify the settings to be applied to a whole print job and to all the docs in the print job.

PrintRequestAttributeSet is just an AttributeSet whose constructors and mutating operations guarantee an additional invariant, namely that all attribute values in the PrintRequestAttributeSet must be instances of interface PrintRequestAttribute. The add(Attribute), and addAll(AttributeSet) operations are respecified below to guarantee this additional invariant.

Interface PrintRequestAttributeSet specifies the interface for a set of
print request attributes, i.e. printing attributes that implement interface
PrintRequestAttribute.
The client uses a PrintRequestAttributeSet to specify the settings to be
applied to a whole print job and to all the docs in the print job.

PrintRequestAttributeSet is just an AttributeSet whose
constructors and mutating operations guarantee an additional invariant,
namely that all attribute values in the PrintRequestAttributeSet must be
instances of interface PrintRequestAttribute.
The add(Attribute), and
addAll(AttributeSet) operations
are respecified below to guarantee this additional invariant.
raw docstring

javax.print.attribute.PrintServiceAttribute

Interface PrintServiceAttribute is a tagging interface which a printing attribute class implements to indicate the attribute describes the status of a Print Service or some other characteristic of a Print Service. A Print Service instance adds a number of PrintServiceAttributes to a Print service's attribute set to report the Print Service's status.

Interface PrintServiceAttribute is a tagging interface which a printing
attribute class implements to indicate the attribute describes the status
of a Print Service or some other characteristic of a Print Service. A Print
Service instance adds a number of PrintServiceAttributes to a Print
service's attribute set to report the Print Service's status.
raw docstring

No vars found in this namespace.

javax.print.attribute.PrintServiceAttributeSet

Interface PrintServiceAttributeSet specifies the interface for a set of print job attributes, i.e. printing attributes that implement interface PrintServiceAttribute. In the Print Service API, the Print Service instance uses a PrintServiceAttributeSet to report the status of the print service.

A PrintServiceAttributeSet is just an AttributeSet whose constructors and mutating operations guarantee an additional invariant, namely that all attribute values in the PrintServiceAttributeSet must be instances of interface PrintServiceAttribute. The add(Attribute), and addAll(AttributeSet) operations are respecified below to guarantee this additional invariant.

Interface PrintServiceAttributeSet specifies the interface for a set of
print job attributes, i.e. printing attributes that implement interface
PrintServiceAttribute. In the Print Service API,
the Print Service instance uses a PrintServiceAttributeSet to report the
status of the print service.

A PrintServiceAttributeSet is just an AttributeSet
whose constructors and mutating operations guarantee an additional
invariant,
namely that all attribute values in the PrintServiceAttributeSet must be
instances of interface PrintServiceAttribute.
The add(Attribute), and
addAll(AttributeSet) operations
are respecified below to guarantee this additional invariant.
raw docstring

javax.print.attribute.ResolutionSyntax

Class ResolutionSyntax is an abstract base class providing the common implementation of all attributes denoting a printer resolution.

A resolution attribute's value consists of two items, the cross feed direction resolution and the feed direction resolution. A resolution attribute may be constructed by supplying the two values and indicating the units in which the values are measured. Methods are provided to return a resolution attribute's values, indicating the units in which the values are to be returned. The two most common resolution units are dots per inch (dpi) and dots per centimeter (dpcm), and exported constants DPI and DPCM are provided for indicating those units.

Once constructed, a resolution attribute's value is immutable.

Design

A resolution attribute's cross feed direction resolution and feed direction resolution values are stored internally using units of dots per 100 inches (dphi). Storing the values in dphi rather than, say, metric units allows precise integer arithmetic conversions between dpi and dphi and between dpcm and dphi: 1 dpi = 100 dphi, 1 dpcm = 254 dphi. Thus, the values can be stored into and retrieved back from a resolution attribute in either units with no loss of precision. This would not be guaranteed if a floating point representation were used. However, roundoff error will in general occur if a resolution attribute's values are created in one units and retrieved in different units; for example, 600 dpi will be rounded to 236 dpcm, whereas the true value (to five figures) is 236.22 dpcm.

Storing the values internally in common units of dphi lets two resolution attributes be compared without regard to the units in which they were created; for example, 300 dpcm will compare equal to 762 dpi, as they both are stored as 76200 dphi. In particular, a lookup service can match resolution attributes based on equality of their serialized representations regardless of the units in which they were created. Again, using integers for internal storage allows precise equality comparisons to be done, which would not be guaranteed if a floating point representation were used.

The exported constant DPI is actually the conversion factor by which to multiply a value in dpi to get the value in dphi. Likewise, the exported constant DPCM is the conversion factor by which to multiply a value in dpcm to get the value in dphi. A client can specify a resolution value in units other than dpi or dpcm by supplying its own conversion factor. However, since the internal units of dphi was chosen with supporting only the external units of dpi and dpcm in mind, there is no guarantee that the conversion factor for the client's units will be an exact integer. If the conversion factor isn't an exact integer, resolution values in the client's units won't be stored precisely.

Class ResolutionSyntax is an abstract base class providing the common
implementation of all attributes denoting a printer resolution.

A resolution attribute's value consists of two items, the cross feed
direction resolution and the feed direction resolution. A resolution
attribute may be constructed by supplying the two values and indicating the
units in which the values are measured. Methods are provided to return a
resolution attribute's values, indicating the units in which the values are
to be returned. The two most common resolution units are dots per inch (dpi)
and dots per centimeter (dpcm), and exported constants DPI and DPCM are provided for
indicating those units.

Once constructed, a resolution attribute's value is immutable.

Design

A resolution attribute's cross feed direction resolution and feed direction
resolution values are stored internally using units of dots per 100 inches
(dphi). Storing the values in dphi rather than, say, metric units allows
precise integer arithmetic conversions between dpi and dphi and between dpcm
and dphi: 1 dpi = 100 dphi, 1 dpcm = 254 dphi. Thus, the values can be stored
into and retrieved back from a resolution attribute in either units with no
loss of precision. This would not be guaranteed if a floating point
representation were used. However, roundoff error will in general occur if a
resolution attribute's values are created in one units and retrieved in
different units; for example, 600 dpi will be rounded to 236 dpcm, whereas
the true value (to five figures) is 236.22 dpcm.

Storing the values internally in common units of dphi lets two resolution
attributes be compared without regard to the units in which they were
created; for example, 300 dpcm will compare equal to 762 dpi, as they both
are stored as 76200 dphi. In particular, a lookup service can
match resolution attributes based on equality of their serialized
representations regardless of the units in which they were created. Again,
using integers for internal storage allows precise equality comparisons to be
done, which would not be guaranteed if a floating point representation were
used.

The exported constant DPI is actually the
conversion factor by which to multiply a value in dpi to get the value in
dphi. Likewise, the exported constant DPCM is the
conversion factor by which to multiply a value in dpcm to get the value in
dphi. A client can specify a resolution value in units other than dpi or dpcm
by supplying its own conversion factor. However, since the internal units of
dphi was chosen with supporting only the external units of dpi and dpcm in
mind, there is no guarantee that the conversion factor for the client's units
will be an exact integer. If the conversion factor isn't an exact integer,
resolution values in the client's units won't be stored precisely.
raw docstring

javax.print.attribute.SetOfIntegerSyntax

Class SetOfIntegerSyntax is an abstract base class providing the common implementation of all attributes whose value is a set of nonnegative integers. This includes attributes whose value is a single range of integers and attributes whose value is a set of ranges of integers.

You can construct an instance of SetOfIntegerSyntax by giving it in "string form." The string consists of zero or more comma-separated integer groups. Each integer group consists of either one integer, two integers separated by a hyphen (-), or two integers separated by a colon (:). Each integer consists of one or more decimal digits (0 through 9). Whitespace characters cannot appear within an integer but are otherwise ignored. For example: "", "1", "5-10", "1:2, 4".

You can also construct an instance of SetOfIntegerSyntax by giving it in "array form." Array form consists of an array of zero or more integer groups where each integer group is a length-1 or length-2 array of ints; for example, int[0][], int[][]{{1}}, int[][]{{5,10}}, int[][]{{1,2},{4}}.

In both string form and array form, each successive integer group gives a range of integers to be included in the set. The first integer in each group gives the lower bound of the range; the second integer in each group gives the upper bound of the range; if there is only one integer in the group, the upper bound is the same as the lower bound. If the upper bound is less than the lower bound, it denotes a null range (no values). If the upper bound is equal to the lower bound, it denotes a range consisting of a single value. If the upper bound is greater than the lower bound, it denotes a range consisting of more than one value. The ranges may appear in any order and are allowed to overlap. The union of all the ranges gives the set's contents. Once a SetOfIntegerSyntax instance is constructed, its value is immutable.

The SetOfIntegerSyntax object's value is actually stored in "canonical array form." This is the same as array form, except there are no null ranges; the members of the set are represented in as few ranges as possible (i.e., overlapping ranges are coalesced); the ranges appear in ascending order; and each range is always represented as a length-two array of ints in the form {lower bound, upper bound}. An empty set is represented as a zero-length array.

Class SetOfIntegerSyntax has operations to return the set's members in canonical array form, to test whether a given integer is a member of the set, and to iterate through the members of the set.

Class SetOfIntegerSyntax is an abstract base class providing the common
implementation of all attributes whose value is a set of nonnegative
integers. This includes attributes whose value is a single range of integers
and attributes whose value is a set of ranges of integers.

You can construct an instance of SetOfIntegerSyntax by giving it in "string
form." The string consists of zero or more comma-separated integer groups.
Each integer group consists of either one integer, two integers separated by
a hyphen (-), or two integers separated by a colon
(:). Each integer consists of one or more decimal digits
(0 through 9). Whitespace characters cannot
appear within an integer but are otherwise ignored. For example:
"", "1", "5-10", "1:2,
4".

You can also construct an instance of SetOfIntegerSyntax by giving it in
"array form." Array form consists of an array of zero or more integer groups
where each integer group is a length-1 or length-2 array of
ints; for example, int[0][],
int[][]{{1}}, int[][]{{5,10}},
int[][]{{1,2},{4}}.

In both string form and array form, each successive integer group gives a
range of integers to be included in the set. The first integer in each group
gives the lower bound of the range; the second integer in each group gives
the upper bound of the range; if there is only one integer in the group, the
upper bound is the same as the lower bound. If the upper bound is less than
the lower bound, it denotes a null range (no values). If the upper bound is
equal to the lower bound, it denotes a range consisting of a single value. If
the upper bound is greater than the lower bound, it denotes a range
consisting of more than one value. The ranges may appear in any order and are
allowed to overlap. The union of all the ranges gives the set's contents.
Once a SetOfIntegerSyntax instance is constructed, its value is immutable.

The SetOfIntegerSyntax object's value is actually stored in "canonical
array form." This is the same as array form, except there are no null ranges;
the members of the set are represented in as few ranges as possible (i.e.,
overlapping ranges are coalesced); the ranges appear in ascending order; and
each range is always represented as a length-two array of ints
in the form {lower bound, upper bound}. An empty set is represented as a
zero-length array.

Class SetOfIntegerSyntax has operations to return the set's members in
canonical array form, to test whether a given integer is a member of the
set, and to iterate through the members of the set.
raw docstring

javax.print.attribute.Size2DSyntax

Class Size2DSyntax is an abstract base class providing the common implementation of all attributes denoting a size in two dimensions.

A two-dimensional size attribute's value consists of two items, the X dimension and the Y dimension. A two-dimensional size attribute may be constructed by supplying the two values and indicating the units in which the values are measured. Methods are provided to return a two-dimensional size attribute's values, indicating the units in which the values are to be returned. The two most common size units are inches (in) and millimeters (mm), and exported constants INCH and MM are provided for indicating those units.

Once constructed, a two-dimensional size attribute's value is immutable.

Design

A two-dimensional size attribute's X and Y dimension values are stored internally as integers in units of micrometers (µm), where 1 micrometer = 10-6 meter = 1/1000 millimeter = 1/25400 inch. This permits dimensions to be represented exactly to a precision of 1/1000 mm (= 1 µm) or 1/100 inch (= 254 µm). If fractional inches are expressed in negative powers of two, this permits dimensions to be represented exactly to a precision of 1/8 inch (= 3175 µm) but not 1/16 inch (because 1/16 inch does not equal an integral number of µm).

Storing the dimensions internally in common units of µm lets two size attributes be compared without regard to the units in which they were created; for example, 8.5 in will compare equal to 215.9 mm, as they both are stored as 215900 µm. For example, a lookup service can match resolution attributes based on equality of their serialized representations regardless of the units in which they were created. Using integers for internal storage allows precise equality comparisons to be done, which would not be guaranteed if an internal floating point representation were used. Note that if you're looking for U.S. letter sized media in metric units, you have to search for a media size of 215.9 x 279.4 mm; rounding off to an integral 216 x 279 mm will not match.

The exported constant INCH is actually the conversion factor by which to multiply a value in inches to get the value in µm. Likewise, the exported constant MM is the conversion factor by which to multiply a value in mm to get the value in µm. A client can specify a resolution value in units other than inches or mm by supplying its own conversion factor. However, since the internal units of µm was chosen with supporting only the external units of inch and mm in mind, there is no guarantee that the conversion factor for the client's units will be an exact integer. If the conversion factor isn't an exact integer, resolution values in the client's units won't be stored precisely.

Class Size2DSyntax is an abstract base class providing the common
implementation of all attributes denoting a size in two dimensions.

A two-dimensional size attribute's value consists of two items, the X
dimension and the Y dimension. A two-dimensional size attribute may be
constructed by supplying the two values and indicating the units in which the
values are measured. Methods are provided to return a two-dimensional size
attribute's values, indicating the units in which the values are to be
returned. The two most common size units are inches (in) and millimeters
(mm), and exported constants INCH and MM are provided for indicating those units.

Once constructed, a two-dimensional size attribute's value is immutable.

Design

A two-dimensional size attribute's X and Y dimension values are stored
internally as integers in units of micrometers (µm), where 1 micrometer
= 10-6 meter = 1/1000 millimeter = 1/25400 inch. This permits
dimensions to be represented exactly to a precision of 1/1000 mm (= 1
µm) or 1/100 inch (= 254 µm). If fractional inches are expressed in
negative powers of two, this permits dimensions to be represented exactly to
a precision of 1/8 inch (= 3175 µm) but not 1/16 inch (because 1/16 inch
does not equal an integral number of µm).

Storing the dimensions internally in common units of µm lets two size
attributes be compared without regard to the units in which they were
created; for example, 8.5 in will compare equal to 215.9 mm, as they both are
stored as 215900 µm. For example, a lookup service can
match resolution attributes based on equality of their serialized
representations regardless of the units in which they were created. Using
integers for internal storage allows precise equality comparisons to be done,
which would not be guaranteed if an internal floating point representation
were used. Note that if you're looking for U.S. letter sized media in metric
units, you have to search for a media size of 215.9 x 279.4 mm; rounding off
to an integral 216 x 279 mm will not match.

The exported constant INCH is actually the
conversion factor by which to multiply a value in inches to get the value in
µm. Likewise, the exported constant MM is the
conversion factor by which to multiply a value in mm to get the value in
µm. A client can specify a resolution value in units other than inches
or mm by supplying its own conversion factor. However, since the internal
units of µm was chosen with supporting only the external units of inch
and mm in mind, there is no guarantee that the conversion factor for the
client's units will be an exact integer. If the conversion factor isn't an
exact integer, resolution values in the client's units won't be stored
precisely.
raw docstring

javax.print.attribute.standard.Chromaticity

Class Chromaticity is a printing attribute class, an enumeration, that specifies monochrome or color printing. This is used by a print client to specify how the print data should be generated or processed. It is not descriptive of the color capabilities of the device. Query the service's ColorSupported attribute to determine if the device can be verified to support color printing.

The table below shows the effects of specifying a Chromaticity attribute of MONOCHROME or COLOR for a monochrome or color document.

ChromaticityAttribute

Effect onMonochrome Document

Effect onColor Document

MONOCHROME

Printed as is, in monochrome

Printed in monochrome, with colors converted to shades of gray

COLOR

Printed as is, in monochrome

Printed as is, in color

IPP Compatibility: Chromaticity is not an IPP attribute at present.

Class Chromaticity is a printing attribute class, an enumeration, that
specifies monochrome or color printing. This is used by a print client
to specify how the print data should be generated or processed. It is not
descriptive of the color capabilities of the device. Query the service's
ColorSupported attribute to determine if the device
can be verified to support color printing.

The table below shows the effects of specifying a Chromaticity attribute of
MONOCHROME or COLOR
for a monochrome or color document.




ChromaticityAttribute


Effect onMonochrome Document


Effect onColor Document




MONOCHROME


Printed as is, in monochrome


Printed in monochrome, with colors converted to shades of gray




COLOR


Printed as is, in monochrome


Printed as is, in color





IPP Compatibility: Chromaticity is not an IPP attribute at present.
raw docstring

javax.print.attribute.standard.ColorSupported

Class ColorSupported is a printing attribute class, an enumeration, that identifies whether the device is capable of any type of color printing at all, including highlight color as well as full process color. All document instructions having to do with color are embedded within the print data (none are attributes attached to the job outside the print data).

Note: End users are able to determine the nature and details of the color support by querying the PrinterMoreInfoManufacturer attribute.

Don't confuse the ColorSupported attribute with the Chromaticity attribute. Chromaticity is an attribute the client can specify for a job to tell the printer whether to print a document in monochrome or color, possibly causing the printer to print a color document in monochrome. ColorSupported is a printer description attribute that tells whether the printer can print in color regardless of how the client specifies to print any particular document.

IPP Compatibility: The IPP boolean value is "true" for SUPPORTED and "false" for NOT_SUPPORTED. The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value.

Class ColorSupported is a printing attribute class, an enumeration, that
identifies whether the device is capable of any type of color printing at
all, including highlight color as well as full process color. All document
instructions having to do with color are embedded within the print data (none
are attributes attached to the job outside the print data).

Note: End users are able to determine the nature and details of the color
support by querying the PrinterMoreInfoManufacturer attribute.

Don't confuse the ColorSupported attribute with the Chromaticity attribute. Chromaticity is an attribute
the client can specify for a job to tell the printer whether to print a
document in monochrome or color, possibly causing the printer to print a
color document in monochrome. ColorSupported is a printer description
attribute that tells whether the printer can print in color regardless of how
the client specifies to print any particular document.

IPP Compatibility: The IPP boolean value is "true" for SUPPORTED and
"false" for NOT_SUPPORTED. The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
raw docstring

javax.print.attribute.standard.Compression

Class Compression is a printing attribute class, an enumeration, that specifies how print data is compressed. Compression is an attribute of the print data (the doc), not of the Print Job. If a Compression attribute is not specified for a doc, the printer assumes the doc's print data is uncompressed (i.e., the default Compression value is always NONE).

IPP Compatibility: The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value.

Class Compression is a printing attribute class, an enumeration, that
specifies how print data is compressed. Compression is an attribute of the
print data (the doc), not of the Print Job. If a Compression attribute is not
specified for a doc, the printer assumes the doc's print data is uncompressed
(i.e., the default Compression value is always NONE).

IPP Compatibility: The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
raw docstring

javax.print.attribute.standard.Copies

Class Copies is an integer valued printing attribute class that specifies the number of copies to be printed.

On many devices the supported number of collated copies will be limited by the number of physical output bins on the device, and may be different from the number of uncollated copies which can be supported.

The effect of a Copies attribute with a value of n on a multidoc print job (a job with multiple documents) depends on the (perhaps defaulted) value of the MultipleDocumentHandling attribute:

SINGLE_DOCUMENT -- The result will be n copies of a single output document comprising all the input docs.

SINGLE_DOCUMENT_NEW_SHEET -- The result will be n copies of a single output document comprising all the input docs, and the first impression of each input doc will always start on a new media sheet.

SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- The result will be n copies of the first input document, followed by n copies of the second input document, . . . followed by n copies of the last input document.

SEPARATE_DOCUMENTS_COLLATED_COPIES -- The result will be the first input document, the second input document, . . . the last input document, the group of documents being repeated n times.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class Copies is an integer valued printing attribute class that specifies the
number of copies to be printed.

On many devices the supported number of collated copies will be limited by
the number of physical output bins on the device, and may be different from
the number of uncollated copies which can be supported.

The effect of a Copies attribute with a value of n on a multidoc print
job (a job with multiple documents) depends on the (perhaps defaulted) value
of the MultipleDocumentHandling attribute:


SINGLE_DOCUMENT -- The result will be n copies of a single output
document comprising all the input docs.


SINGLE_DOCUMENT_NEW_SHEET -- The result will be n copies of a single
output document comprising all the input docs, and the first impression of
each input doc will always start on a new media sheet.


SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- The result will be n copies of
the first input document, followed by n copies of the second input
document, . . . followed by n copies of the last input document.


SEPARATE_DOCUMENTS_COLLATED_COPIES -- The result will be the first input
document, the second input document, . . . the last input document, the group
of documents being repeated n times.


IPP Compatibility: The integer value gives the IPP integer value. The
category name returned by getName() gives the IPP attribute
name.
raw docstring

javax.print.attribute.standard.CopiesSupported

Class CopiesSupported is a printing attribute class, a set of integers, that gives the supported values for a Copies attribute. It is restricted to a single contiguous range of integers; multiple non-overlapping ranges are not allowed.

IPP Compatibility: The CopiesSupported attribute's canonical array form gives the lower and upper bound for the range of copies to be included in an IPP "copies-supported" attribute. See class SetOfIntegerSyntax for an explanation of canonical array form. The category name returned by getName() gives the IPP attribute name.

Class CopiesSupported is a printing attribute class, a set of integers, that
gives the supported values for a Copies attribute. It is
restricted to a single contiguous range of integers; multiple non-overlapping
ranges are not allowed.

IPP Compatibility: The CopiesSupported attribute's canonical array
form gives the lower and upper bound for the range of copies to be included
in an IPP "copies-supported" attribute. See class SetOfIntegerSyntax for an
explanation of canonical array form. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.core

No vars found in this namespace.

javax.print.attribute.standard.DateTimeAtCompleted

Class DateTimeAtCompleted is a printing attribute class, a date-time attribute, that indicates the date and time at which the Print Job completed (or was canceled or aborted).

To construct a DateTimeAtCompleted attribute from separate values of the year, month, day, hour, minute, and so on, use a Calendar object to construct a Date object, then use the Date object to construct the DateTimeAtCompleted attribute. To convert a DateTimeAtCompleted attribute to separate values of the year, month, day, hour, minute, and so on, create a Calendar object and set it to the Date from the DateTimeAtCompleted attribute.

IPP Compatibility: The information needed to construct an IPP "date-time-at-completed" attribute can be obtained as described above. The category name returned by getName() gives the IPP attribute name.

Class DateTimeAtCompleted is a printing attribute class, a date-time
attribute, that indicates the date and time at which the Print Job completed
(or was canceled or aborted).

To construct a DateTimeAtCompleted attribute from separate values of the
year, month, day, hour, minute, and so on, use a Calendar object to construct a Date object, then use
the Date object to construct the DateTimeAtCompleted
attribute. To convert a DateTimeAtCompleted attribute to separate values of
the year, month, day, hour, minute, and so on, create a Calendar object and set it to the Date from the DateTimeAtCompleted attribute.

IPP Compatibility: The information needed to construct an IPP
"date-time-at-completed" attribute can be obtained as described above. The
category name returned by getName() gives the IPP attribute
name.
raw docstring

javax.print.attribute.standard.DateTimeAtCreation

Class DateTimeAtCreation is a printing attribute class, a date-time attribute, that indicates the date and time at which the Print Job was created.

To construct a DateTimeAtCreation attribute from separate values of the year, month, day, hour, minute, and so on, use a Calendar object to construct a Date object, then use the Date object to construct the DateTimeAtCreation attribute. To convert a DateTimeAtCreation attribute to separate values of the year, month, day, hour, minute, and so on, create a Calendar object and set it to the Date from the DateTimeAtCreation attribute.

IPP Compatibility: The information needed to construct an IPP "date-time-at-creation" attribute can be obtained as described above. The category name returned by getName() gives the IPP attribute name.

Class DateTimeAtCreation is a printing attribute class, a date-time
attribute, that indicates the date and time at which the Print Job was
created.

To construct a DateTimeAtCreation attribute from separate values of the year,
month, day, hour, minute, and so on, use a Calendar object to construct a Date object, then use
the Date object to construct the DateTimeAtCreation
attribute. To convert a DateTimeAtCreation attribute to separate values of
the year, month, day, hour, minute, and so on, create a Calendar object and set it to the Date from the DateTimeAtCreation attribute.

IPP Compatibility: The information needed to construct an IPP
"date-time-at-creation" attribute can be obtained as described above. The
category name returned by getName() gives the IPP attribute
name.
raw docstring

javax.print.attribute.standard.DateTimeAtProcessing

Class DateTimeAtProcessing is a printing attribute class, a date-time attribute, that indicates the date and time at which the Print Job first began processing.

To construct a DateTimeAtProcessing attribute from separate values of the year, month, day, hour, minute, and so on, use a Calendar object to construct a Date object, then use the Date object to construct the DateTimeAtProcessing attribute. To convert a DateTimeAtProcessing attribute to separate values of the year, month, day, hour, minute, and so on, create a Calendar object and set it to the Date from the DateTimeAtProcessing attribute.

IPP Compatibility: The information needed to construct an IPP "date-time-at-processing" attribute can be obtained as described above. The category name returned by getName() gives the IPP attribute name.

Class DateTimeAtProcessing is a printing attribute class, a date-time
attribute, that indicates the date and time at which the Print Job first
began processing.

To construct a DateTimeAtProcessing attribute from separate values of the
year, month, day, hour, minute, and so on, use a Calendar object to construct a Date object, then use
the Date object to construct the DateTimeAtProcessing
attribute. To convert a DateTimeAtProcessing attribute to separate values of
the year, month, day, hour, minute, and so on, create a Calendar object and set it to the Date from the DateTimeAtProcessing attribute.

IPP Compatibility: The information needed to construct an IPP
"date-time-at-processing" attribute can be obtained as described above. The
category name returned by getName() gives the IPP attribute
name.
raw docstring

javax.print.attribute.standard.Destination

Class Destination is a printing attribute class, a URI, that is used to indicate an alternate destination for the spooled printer formatted data. Many PrintServices will not support the notion of a destination other than the printer device, and so will not support this attribute.

A common use for this attribute will be applications which want to redirect output to a local disk file : eg."file:out.prn". Note that proper construction of "file:" scheme URI instances should be performed using the toURI() method of class File. See the documentation on that class for more information.

If a destination URI is specified in a PrintRequest and it is not accessible for output by the PrintService, a PrintException will be thrown. The PrintException may implement URIException to provide a more specific cause.

IPP Compatibility: Destination is not an IPP attribute.

Class Destination is a printing attribute class, a URI, that is used to
indicate an alternate destination for the spooled printer formatted
data. Many PrintServices will not support the notion of a destination
other than the printer device, and so will not support this attribute.

A common use for this attribute will be applications which want
to redirect output to a local disk file : eg."file:out.prn".
Note that proper construction of "file:" scheme URI instances should
be performed using the toURI() method of class
File.
See the documentation on that class for more information.

If a destination URI is specified in a PrintRequest and it is not
accessible for output by the PrintService, a PrintException will be thrown.
The PrintException may implement URIException to provide a more specific
cause.

IPP Compatibility: Destination is not an IPP attribute.
raw docstring

javax.print.attribute.standard.DialogTypeSelection

Class DialogTypeSelection is a printing attribute class, an enumeration, that indicates the user dialog type to be used for specifying printing options. If NATIVE is specified, then where available, a native platform dialog is displayed. If COMMON is specified, a cross-platform print dialog is displayed.

This option to specify a native dialog for use with an IPP attribute set provides a standard way to reflect back of the setting and option changes made by a user to the calling application, and integrates the native dialog into the Java printing APIs. But note that some options and settings in a native dialog may not necessarily map to IPP attributes as they may be non-standard platform, or even printer specific options.

IPP Compatibility: This is not an IPP attribute.

Class DialogTypeSelection is a printing attribute class, an enumeration,
that indicates the user dialog type to be used for specifying
printing options.
If NATIVE is specified, then where available, a native
platform dialog is displayed.
If COMMON is specified, a cross-platform print dialog is displayed.

This option to specify a native dialog for use with an IPP attribute
set provides a standard way to reflect back of the setting and option
changes made by a user to the calling application, and integrates
the native dialog into the Java printing APIs.
But note that some options and settings in a native dialog may not
necessarily map to IPP attributes as they may be non-standard platform,
or even printer specific options.

IPP Compatibility: This is not an IPP attribute.
raw docstring

javax.print.attribute.standard.DocumentName

Class DocumentName is a printing attribute class, a text attribute, that specifies the name of a document. DocumentName is an attribute of the print data (the doc), not of the Print Job. A document's name is an arbitrary string defined by the client. However if a JobName is not specified, the DocumentName should be used instead, which implies that supporting specification of DocumentName requires reporting of JobName and vice versa. See JobName for more information.

IPP Compatibility: The string value gives the IPP name value. The locale gives the IPP natural language. The category name returned by getName() gives the IPP attribute name.

Class DocumentName is a printing attribute class, a text attribute, that
specifies the name of a document. DocumentName is an attribute of the print
data (the doc), not of the Print Job. A document's name is an arbitrary
string defined by the client.
However if a JobName is not specified, the DocumentName should be used
instead, which implies that supporting specification of DocumentName
requires reporting of JobName and vice versa.
See JobName for more information.

IPP Compatibility: The string value gives the IPP name value. The
locale gives the IPP natural language. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.Fidelity

Class Fidelity is a printing attribute class, an enumeration, that indicates whether total fidelity to client supplied print request attributes is required. If FIDELITY_TRUE is specified and a service cannot print the job exactly as specified it must reject the job. If FIDELITY_FALSE is specified a reasonable attempt to print the job is acceptable. If not supplied the default is FIDELITY_FALSE.

IPP Compatibility: The IPP boolean value is "true" for FIDELITY_TRUE and "false" for FIDELITY_FALSE. The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value. See RFC 2911 Section 15.1 for a fuller description of the IPP fidelity attribute.

Class Fidelity is a printing attribute class, an enumeration,
that indicates whether total fidelity to client supplied print request
attributes is required.
If FIDELITY_TRUE is specified and a service cannot print the job exactly
as specified it must reject the job.
If FIDELITY_FALSE is specified a reasonable attempt to print the job is
acceptable. If not supplied the default is FIDELITY_FALSE.


IPP Compatibility: The IPP boolean value is "true" for FIDELITY_TRUE
and "false" for FIDELITY_FALSE. The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
See RFC 2911 Section 15.1 for
a fuller description of the IPP fidelity attribute.
raw docstring

javax.print.attribute.standard.Finishings

Class Finishings is a printing attribute class, an enumeration, that identifies whether the printer applies a finishing operation of some kind of binding to each copy of each printed document in the job. For multidoc print jobs (jobs with multiple documents), the MultipleDocumentHandling attribute determines what constitutes a "copy" for purposes of finishing.

Standard Finishings values are:

NONE

STAPLE

EDGE_STITCH

BIND

SADDLE_STITCH

COVER

The following Finishings values are more specific; they indicate a corner or an edge as if the document were a portrait document:

STAPLE_TOP_LEFT

EDGE_STITCH_LEFT

STAPLE_DUAL_LEFT

STAPLE_BOTTOM_LEFT

EDGE_STITCH_TOP

STAPLE_DUAL_TOP

STAPLE_TOP_RIGHT

EDGE_STITCH_RIGHT

STAPLE_DUAL_RIGHT

STAPLE_BOTTOM_RIGHT

EDGE_STITCH_BOTTOM

STAPLE_DUAL_BOTTOM

The STAPLE_XXX values are specified with respect to the document as if the document were a portrait document. If the document is actually a landscape or a reverse-landscape document, the client supplies the appropriate transformed value. For example, to position a staple in the upper left hand corner of a landscape document when held for reading, the client supplies the STAPLE_BOTTOM_LEFT value (since landscape is defined as a 90 degree rotation from portrait, i.e., anti-clockwise). On the other hand, to position a staple in the upper left hand corner of a reverse-landscape document when held for reading, the client supplies the STAPLE_TOP_RIGHT value (since reverse-landscape is defined as a -90 degree rotation from portrait, i.e., clockwise).

The angle (vertical, horizontal, angled) of each staple with respect to the document depends on the implementation which may in turn depend on the value of the attribute.

The effect of a Finishings attribute on a multidoc print job (a job with multiple documents) depends on whether all the docs have the same binding specified or whether different docs have different bindings specified, and on the (perhaps defaulted) value of the MultipleDocumentHandling attribute.

If all the docs have the same binding specified, then any value of MultipleDocumentHandling makes sense, and the printer's processing depends on the MultipleDocumentHandling value:

SINGLE_DOCUMENT -- All the input docs will be bound together as one output document with the specified binding.

SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be bound together as one output document with the specified binding, and the first impression of each input doc will always start on a new media sheet.

SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- Each input doc will be bound separately with the specified binding.

SEPARATE_DOCUMENTS_COLLATED_COPIES -- Each input doc will be bound separately with the specified binding.

If different docs have different bindings specified, then only two values of MultipleDocumentHandling make sense, and the printer reports an error when the job is submitted if any other value is specified:

SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- Each input doc will be bound separately with its own specified binding.

SEPARATE_DOCUMENTS_COLLATED_COPIES -- Each input doc will be bound separately with its own specified binding.

IPP Compatibility: Class Finishings encapsulates some of the IPP enum values that can be included in an IPP "finishings" attribute, which is a set of enums. The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value. In IPP Finishings is a multi-value attribute, this API currently allows only one binding to be specified.

Class Finishings is a printing attribute class, an enumeration, that
identifies whether the printer applies a finishing operation of some kind
of binding to each copy of each printed document in the job. For multidoc
print jobs (jobs with multiple documents), the
MultipleDocumentHandling attribute determines what constitutes a "copy"
for purposes of finishing.

Standard Finishings values are:






NONE


STAPLE


EDGE_STITCH







BIND


SADDLE_STITCH


COVER







The following Finishings values are more specific; they indicate a
corner or an edge as if the document were a portrait document:






STAPLE_TOP_LEFT


EDGE_STITCH_LEFT


STAPLE_DUAL_LEFT










STAPLE_BOTTOM_LEFT


EDGE_STITCH_TOP


STAPLE_DUAL_TOP










STAPLE_TOP_RIGHT


EDGE_STITCH_RIGHT


STAPLE_DUAL_RIGHT










STAPLE_BOTTOM_RIGHT


EDGE_STITCH_BOTTOM


STAPLE_DUAL_BOTTOM







The STAPLE_XXX values are specified with respect to the
document as if the document were a portrait document. If the document is
actually a landscape or a reverse-landscape document, the client supplies the
appropriate transformed value. For example, to position a staple in the upper
left hand corner of a landscape document when held for reading, the client
supplies the STAPLE_BOTTOM_LEFT value (since landscape is
defined as a 90 degree rotation from portrait, i.e., anti-clockwise). On the
other hand, to position a staple in the upper left hand corner of a
reverse-landscape document when held for reading, the client supplies the
STAPLE_TOP_RIGHT value (since reverse-landscape is defined as a
-90 degree rotation from portrait, i.e., clockwise).

The angle (vertical, horizontal, angled) of each staple with respect to the
document depends on the implementation which may in turn depend on the value
of the attribute.

The effect of a Finishings attribute on a multidoc print job (a job
with multiple documents) depends on whether all the docs have the same
binding specified or whether different docs have different bindings
specified, and on the (perhaps defaulted) value of the MultipleDocumentHandling attribute.


If all the docs have the same binding specified, then any value of MultipleDocumentHandling makes sense, and the
printer's processing depends on the MultipleDocumentHandling value:


SINGLE_DOCUMENT -- All the input docs will be bound together as one output
document with the specified binding.


SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be bound together as one
output document with the specified binding, and the first impression of each
input doc will always start on a new media sheet.


SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- Each input doc will be bound
separately with the specified binding.


SEPARATE_DOCUMENTS_COLLATED_COPIES -- Each input doc will be bound separately
with the specified binding.



If different docs have different bindings specified, then only two values of
MultipleDocumentHandling make sense, and the
printer reports an error when the job is submitted if any other value is
specified:


SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- Each input doc will be bound
separately with its own specified binding.


SEPARATE_DOCUMENTS_COLLATED_COPIES -- Each input doc will be bound separately
with its own specified binding.



IPP Compatibility: Class Finishings encapsulates some of the
IPP enum values that can be included in an IPP "finishings" attribute, which
is a set of enums. The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
In IPP Finishings is a multi-value attribute, this API currently allows
only one binding to be specified.
raw docstring

javax.print.attribute.standard.JobHoldUntil

Class JobHoldUntil is a printing attribute class, a date-time attribute, that specifies the exact date and time at which the job must become a candidate for printing.

If the value of this attribute specifies a date-time that is in the future, the printer should add the JobStateReason value of JOB_HOLD_UNTIL_SPECIFIED to the job's JobStateReasons attribute, must move the job to the PENDING_HELD state, and must not schedule the job for printing until the specified date-time arrives.

When the specified date-time arrives, the printer must remove the JobStateReason value of JOB_HOLD_UNTIL_SPECIFIED from the job's JobStateReasons attribute, if present. If there are no other job state reasons that keep the job in the PENDING_HELD state, the printer must consider the job as a candidate for processing by moving the job to the PENDING state.

If the specified date-time has already passed, the job must be a candidate for processing immediately. Thus, one way to make the job immediately become a candidate for processing is to specify a JobHoldUntil attribute constructed like this (denoting a date-time of January 1, 1970, 00:00:00 GMT):

JobHoldUntil immediately = new JobHoldUntil (new Date (0L));

If the client does not supply this attribute in a Print Request and the printer supports this attribute, the printer must use its (implementation-dependent) default JobHoldUntil value at job submission time (unlike most job template attributes that are used if necessary at job processing time).

To construct a JobHoldUntil attribute from separate values of the year, month, day, hour, minute, and so on, use a Calendar object to construct a Date object, then use the Date object to construct the JobHoldUntil attribute. To convert a JobHoldUntil attribute to separate values of the year, month, day, hour, minute, and so on, create a Calendar object and set it to the Date from the JobHoldUntil attribute.

IPP Compatibility: Although IPP supports a "job-hold-until" attribute specified as a keyword, IPP does not at this time support a "job-hold-until" attribute specified as a date and time. However, the date and time can be converted to one of the standard IPP keywords with some loss of precision; for example, a JobHoldUntil value with today's date and 9:00pm local time might be converted to the standard IPP keyword "night". The category name returned by getName() gives the IPP attribute name.

Class JobHoldUntil is a printing attribute class, a date-time attribute, that
specifies the exact date and time at which the job must become a candidate
for printing.

If the value of this attribute specifies a date-time that is in the future,
the printer should add the JobStateReason value of
JOB_HOLD_UNTIL_SPECIFIED to the job's JobStateReasons
attribute, must move the job to the PENDING_HELD state, and must not schedule
the job for printing until the specified date-time arrives.

When the specified date-time arrives, the printer must remove the JobStateReason value of JOB_HOLD_UNTIL_SPECIFIED from the
job's JobStateReasons attribute, if present. If there
are no other job state reasons that keep the job in the PENDING_HELD state,
the printer must consider the job as a candidate for processing by moving the
job to the PENDING state.

If the specified date-time has already passed, the job must be a candidate
for processing immediately. Thus, one way to make the job immediately become
a candidate for processing is to specify a JobHoldUntil attribute constructed
like this (denoting a date-time of January 1, 1970, 00:00:00 GMT):


    JobHoldUntil immediately = new JobHoldUntil (new Date (0L));

If the client does not supply this attribute in a Print Request and the
printer supports this attribute, the printer must use its
(implementation-dependent) default JobHoldUntil value at job submission time
(unlike most job template attributes that are used if necessary at job
processing time).

To construct a JobHoldUntil attribute from separate values of the year,
month, day, hour, minute, and so on, use a Calendar object to construct a Date object, then use
the Date object to construct the JobHoldUntil
attribute. To convert a JobHoldUntil attribute to separate values of the
year, month, day, hour, minute, and so on, create a Calendar object and set it to the Date from the
JobHoldUntil attribute.

IPP Compatibility: Although IPP supports a "job-hold-until" attribute
specified as a keyword, IPP does not at this time support a "job-hold-until"
attribute specified as a date and time. However, the date and time can be
converted to one of the standard IPP keywords with some loss of precision;
for example, a JobHoldUntil value with today's date and 9:00pm local time
might be converted to the standard IPP keyword "night". The category name
returned by getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.JobImpressions

Class JobImpressions is an integer valued printing attribute class that specifies the total size in number of impressions of the document(s) being submitted. An "impression" is the image (possibly many print-stream pages in different configurations) imposed onto a single media page.

The JobImpressions attribute describes the size of the job. This attribute is not intended to be a counter; it is intended to be useful routing and scheduling information if known. The printer may try to compute the JobImpressions attribute's value if it is not supplied in the Print Request. Even if the client does supply a value for the JobImpressions attribute in the Print Request, the printer may choose to change the value if the printer is able to compute a value which is more accurate than the client supplied value. The printer may be able to determine the correct value for the JobImpressions attribute either right at job submission time or at any later point in time.

As with JobKOctets, the JobImpressions value must not include the multiplicative factors contributed by the number of copies specified by the Copies attribute, independent of whether the device can process multiple copies without making multiple passes over the job or document data and independent of whether the output is collated or not. Thus the value is independent of the implementation and reflects the size of the document(s) measured in impressions independent of the number of copies.

As with JobKOctets, the JobImpressions value must also not include the multiplicative factor due to a copies instruction embedded in the document data. If the document data actually includes replications of the document data, this value will include such replication. In other words, this value is always the number of impressions in the source document data, rather than a measure of the number of impressions to be produced by the job.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class JobImpressions is an integer valued printing attribute class that
specifies the total size in number of impressions of the document(s) being
submitted. An "impression" is the image (possibly many print-stream pages in
different configurations) imposed onto a single media page.

The JobImpressions attribute describes the size of the job. This attribute is
not intended to be a counter; it is intended to be useful routing and
scheduling information if known. The printer may try to compute the
JobImpressions attribute's value if it is not supplied in the Print Request.
Even if the client does supply a value for the JobImpressions attribute in
the Print Request, the printer may choose to change the value if the printer
is able to compute a value which is more accurate than the client supplied
value. The printer may be able to determine the correct value for the
JobImpressions attribute either right at job submission time or at any later
point in time.

As with JobKOctets, the JobImpressions value must not
include the multiplicative factors contributed by the number of copies
specified by the Copies attribute, independent of whether the
device can process multiple copies without making multiple passes over the
job or document data and independent of whether the output is collated or
not. Thus the value is independent of the implementation and reflects the
size of the document(s) measured in impressions independent of the number of
copies.

As with JobKOctets, the JobImpressions value must also not
include the multiplicative factor due to a copies instruction embedded in the
document data. If the document data actually includes replications of the
document data, this value will include such replication. In other words, this
value is always the number of impressions in the source document data, rather
than a measure of the number of impressions to be produced by the job.

IPP Compatibility: The integer value gives the IPP integer value. The
category name returned by getName() gives the IPP attribute
name.
raw docstring

javax.print.attribute.standard.JobImpressionsCompleted

Class JobImpressionsCompleted is an integer valued printing attribute class that specifies the number of impressions completed for the job so far. For printing devices, the impressions completed includes interpreting, marking, and stacking the output.

The JobImpressionsCompleted attribute describes the progress of the job. This attribute is intended to be a counter. That is, the JobImpressionsCompleted value for a job that has not started processing must be 0. When the job's JobState is PROCESSING or PROCESSING_STOPPED, the JobImpressionsCompleted value is intended to increase as the job is processed; it indicates the amount of the job that has been processed at the time the Print Job's attribute set is queried or at the time a print job event is reported. When the job enters the COMPLETED, CANCELED, or ABORTED states, the JobImpressionsCompleted value is the final value for the job.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class JobImpressionsCompleted is an integer valued printing attribute class
that specifies the number of impressions completed for the job so far. For
printing devices, the impressions completed includes interpreting, marking,
and stacking the output.

The JobImpressionsCompleted attribute describes the progress of the job. This
attribute is intended to be a counter. That is, the JobImpressionsCompleted
value for a job that has not started processing must be 0. When the job's
JobState is PROCESSING or PROCESSING_STOPPED, the
JobImpressionsCompleted value is intended to increase as the job is
processed; it indicates the amount of the job that has been processed at the
time the Print Job's attribute set is queried or at the time a print job
event is reported. When the job enters the COMPLETED, CANCELED, or ABORTED
states, the JobImpressionsCompleted value is the final value for the job.

IPP Compatibility: The integer value gives the IPP integer value. The
category name returned by getName() gives the IPP attribute
name.
raw docstring

javax.print.attribute.standard.JobImpressionsSupported

Class JobImpressionsSupported is a printing attribute class, a set of integers, that gives the supported values for a JobImpressions attribute. It is restricted to a single contiguous range of integers; multiple non-overlapping ranges are not allowed. This gives the lower and upper bounds of the total sizes of print jobs in number of impressions that the printer will accept.

IPP Compatibility: The JobImpressionsSupported attribute's canonical array form gives the lower and upper bound for the range of values to be included in an IPP "job-impressions-supported" attribute. See class SetOfIntegerSyntax for an explanation of canonical array form. The category name returned by getName() gives the IPP attribute name.

Class JobImpressionsSupported is a printing attribute class, a set of
integers, that gives the supported values for a JobImpressions attribute. It is restricted to a single contiguous range of
integers; multiple non-overlapping ranges are not allowed. This gives the
lower and upper bounds of the total sizes of print jobs in number of
impressions that the printer will accept.

IPP Compatibility: The JobImpressionsSupported attribute's canonical
array form gives the lower and upper bound for the range of values to be
included in an IPP "job-impressions-supported" attribute. See class SetOfIntegerSyntax for an
explanation of canonical array form. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.JobKOctets

Class JobKOctets is an integer valued printing attribute class that specifies the total size of the document(s) in K octets, i.e., in units of 1024 octets requested to be processed in the job. The value must be rounded up, so that a job between 1 and 1024 octets must be indicated as being 1K octets, 1025 to 2048 must be 2K octets, etc. For a multidoc print job (a job with multiple documents), the JobKOctets value is computed by adding up the individual documents' sizes in octets, then rounding up to the next K octets value.

The JobKOctets attribute describes the size of the job. This attribute is not intended to be a counter; it is intended to be useful routing and scheduling information if known. The printer may try to compute the JobKOctets attribute's value if it is not supplied in the Print Request. Even if the client does supply a value for the JobKOctets attribute in the Print Request, the printer may choose to change the value if the printer is able to compute a value which is more accurate than the client supplied value. The printer may be able to determine the correct value for the JobKOctets attribute either right at job submission time or at any later point in time.

The JobKOctets value must not include the multiplicative factors contributed by the number of copies specified by the Copies attribute, independent of whether the device can process multiple copies without making multiple passes over the job or document data and independent of whether the output is collated or not. Thus the value is independent of the implementation and indicates the size of the document(s) measured in K octets independent of the number of copies.

The JobKOctets value must also not include the multiplicative factor due to a copies instruction embedded in the document data. If the document data actually includes replications of the document data, this value will include such replication. In other words, this value is always the size of the source document data, rather than a measure of the hardcopy output to be produced.

The size of a doc is computed based on the print data representation class as specified by the doc's DocFlavor, as shown in the table below.

Representation Class Document Size

byte[] Length of the byte array

java.io.InputStream Number of bytes read from the stream

char[] Length of the character array x 2

java.lang.String Length of the string x 2

java.io.Reader Number of characters read from the stream x 2

java.net.URL Number of bytes read from the file at the given URL address

java.awt.image.renderable.RenderableImage Implementation dependent*

java.awt.print.Printable Implementation dependent*

java.awt.print.Pageable Implementation dependent*

  • In these cases the Print Service itself generates the print data sent to the printer. If the Print Service supports the JobKOctets attribute, for these cases the Print Service itself must calculate the size of the print data, replacing any JobKOctets value the client specified.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class JobKOctets is an integer valued printing attribute class that specifies
the total size of the document(s) in K octets, i.e., in units of 1024 octets
requested to be processed in the job. The value must be rounded up, so that a
job between 1 and 1024 octets must be indicated as being 1K octets, 1025 to
2048 must be 2K octets, etc. For a multidoc print job (a job with multiple
documents), the JobKOctets value is computed by adding up the individual
documents' sizes in octets, then rounding up to the next K octets value.

The JobKOctets attribute describes the size of the job. This attribute is not
intended to be a counter; it is intended to be useful routing and scheduling
information if known. The printer may try to compute the JobKOctets
attribute's value if it is not supplied in the Print Request. Even if the
client does supply a value for the JobKOctets attribute in the Print Request,
the printer may choose to change the value if the printer is able to compute
a value which is more accurate than the client supplied value. The printer
may be able to determine the correct value for the JobKOctets attribute
either right at job submission time or at any later point in time.

The JobKOctets value must not include the multiplicative factors contributed
by the number of copies specified by the Copies attribute,
independent of whether the device can process multiple copies without making
multiple passes over the job or document data and independent of whether the
output is collated or not. Thus the value is independent of the
implementation and indicates the size of the document(s) measured in K octets
independent of the number of copies.

The JobKOctets value must also not include the multiplicative factor due to a
copies instruction embedded in the document data. If the document data
actually includes replications of the document data, this value will include
such replication. In other words, this value is always the size of the source
document data, rather than a measure of the hardcopy output to be produced.

The size of a doc is computed based on the print data representation class as
specified by the doc's DocFlavor, as
shown in the table below.



Representation Class
Document Size


byte[]
Length of the byte array


java.io.InputStream
Number of bytes read from the stream


char[]
Length of the character array x 2


java.lang.String
Length of the string x 2


java.io.Reader
Number of characters read from the stream x 2


java.net.URL
Number of bytes read from the file at the given URL address


java.awt.image.renderable.RenderableImage
Implementation dependent*


java.awt.print.Printable
Implementation dependent*


java.awt.print.Pageable
Implementation dependent*



* In these cases the Print Service itself generates the print data sent
to the printer. If the Print Service supports the JobKOctets attribute, for
these cases the Print Service itself must calculate the size of the print
data, replacing any JobKOctets value the client specified.

IPP Compatibility: The integer value gives the IPP integer value. The
category name returned by getName() gives the IPP attribute
name.
raw docstring

javax.print.attribute.standard.JobKOctetsProcessed

Class JobKOctetsProcessed is an integer valued printing attribute class that specifies the total number of print data octets processed so far in K octets, i.e., in units of 1024 octets. The value must be rounded up, so that a job between 1 and 1024 octets inclusive must be indicated as being 1K octets, 1025 to 2048 inclusive must be 2K, etc. For a multidoc print job (a job with multiple documents), the JobKOctetsProcessed value is computed by adding up the individual documents' number of octets processed so far, then rounding up to the next K octets value.

The JobKOctetsProcessed attribute describes the progress of the job. This attribute is intended to be a counter. That is, the JobKOctetsProcessed value for a job that has not started processing must be 0. When the job's JobState is PROCESSING or PROCESSING_STOPPED, the JobKOctetsProcessed value is intended to increase as the job is processed; it indicates the amount of the job that has been processed at the time the Print Job's attribute set is queried or at the time a print job event is reported. When the job enters the COMPLETED, CANCELED, or ABORTED states, the JobKOctetsProcessed value is the final value for the job.

For implementations where multiple copies are produced by the interpreter with only a single pass over the data, the final value of the JobKOctetsProcessed attribute must be equal to the value of the JobKOctets attribute. For implementations where multiple copies are produced by the interpreter by processing the data for each copy, the final value must be a multiple of the value of the JobKOctets attribute.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class JobKOctetsProcessed is an integer valued printing attribute class that
specifies the total number of print data octets processed so far in K octets,
i.e., in units of 1024 octets. The value must be rounded up, so that a job
between 1 and 1024 octets inclusive must be indicated as being 1K octets,
1025 to 2048 inclusive must be 2K, etc. For a multidoc print job (a job with
multiple documents), the JobKOctetsProcessed value is computed by adding up
the individual documents' number of octets processed so far, then rounding up
to the next K octets value.

The JobKOctetsProcessed attribute describes the progress of the job. This
attribute is intended to be a counter. That is, the JobKOctetsProcessed value
for a job that has not started processing must be 0. When the job's JobState is PROCESSING or PROCESSING_STOPPED, the
JobKOctetsProcessed value is intended to increase as the job is processed; it
indicates the amount of the job that has been processed at the time the Print
Job's attribute set is queried or at the time a print job event is reported.
When the job enters the COMPLETED, CANCELED, or ABORTED states, the
JobKOctetsProcessed value is the final value for the job.

For implementations where multiple copies are produced by the interpreter
with only a single pass over the data, the final value of the
JobKOctetsProcessed attribute must be equal to the value of the JobKOctets attribute. For implementations where multiple copies
are produced by the interpreter by processing the data for each copy, the
final value must be a multiple of the value of the JobKOctets attribute.

IPP Compatibility: The integer value gives the IPP integer value. The
category name returned by getName() gives the IPP attribute
name.
raw docstring

javax.print.attribute.standard.JobKOctetsSupported

Class JobKOctetsSupported is a printing attribute class, a set of integers, that gives the supported values for a JobKOctets attribute. It is restricted to a single contiguous range of integers; multiple non-overlapping ranges are not allowed. This gives the lower and upper bounds of the total sizes of print jobs in units of K octets (1024 octets) that the printer will accept.

IPP Compatibility: The JobKOctetsSupported attribute's canonical array form gives the lower and upper bound for the range of values to be included in an IPP "job-k-octets-supported" attribute. See class SetOfIntegerSyntax for an explanation of canonical array form. The category name returned by getName() gives the IPP attribute name.

Class JobKOctetsSupported is a printing attribute class, a set of integers,
that gives the supported values for a JobKOctets
attribute. It is restricted to a single contiguous range of integers;
multiple non-overlapping ranges are not allowed. This gives the lower and
upper bounds of the total sizes of print jobs in units of K octets (1024
octets) that the printer will accept.

IPP Compatibility: The JobKOctetsSupported attribute's canonical array
form gives the lower and upper bound for the range of values to be included
in an IPP "job-k-octets-supported" attribute. See class SetOfIntegerSyntax for an
explanation of canonical array form. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.JobMediaSheets

Class JobMediaSheets is an integer valued printing attribute class that specifies the total number of media sheets to be produced for this job.

The JobMediaSheets attribute describes the size of the job. This attribute is not intended to be a counter; it is intended to be useful routing and scheduling information if known. The printer may try to compute the JobMediaSheets attribute's value if it is not supplied in the Print Request. Even if the client does supply a value for the JobMediaSheets attribute in the Print Request, the printer may choose to change the value if the printer is able to compute a value which is more accurate than the client supplied value. The printer may be able to determine the correct value for the JobMediaSheets attribute either right at job submission time or at any later point in time.

Unlike the JobKOctets and JobImpressions attributes, the JobMediaSheets value must include the multiplicative factors contributed by the number of copies specified by the Copies attribute and a "number of copies" instruction embedded in the document data, if any. This difference allows the system administrator to control the lower and upper bounds of both (1) the size of the document(s) with JobKOctetsSupported and JobImpressionsSupported and (2) the size of the job with JobMediaSheetsSupported.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class JobMediaSheets is an integer valued printing attribute class that
specifies the total number of media sheets to be produced for this job.

The JobMediaSheets attribute describes the size of the job. This attribute is
not intended to be a counter; it is intended to be useful routing and
scheduling information if known. The printer may try to compute the
JobMediaSheets attribute's value if it is not supplied in the Print Request.
Even if the client does supply a value for the JobMediaSheets attribute in
the Print Request, the printer may choose to change the value if the printer
is able to compute a value which is more accurate than the client supplied
value. The printer may be able to determine the correct value for the
JobMediaSheets attribute either right at job submission time or at any later
point in time.

Unlike the JobKOctets and JobImpressions attributes, the JobMediaSheets value must include the
multiplicative factors contributed by the number of copies specified by the
Copies attribute and a "number of copies" instruction embedded
in the document data, if any. This difference allows the system administrator
to control the lower and upper bounds of both (1) the size of the document(s)
with JobKOctetsSupported and JobImpressionsSupported and (2) the size of the job
with JobMediaSheetsSupported.

IPP Compatibility: The integer value gives the IPP integer value. The
category name returned by getName() gives the IPP attribute
name.
raw docstring

javax.print.attribute.standard.JobMediaSheetsCompleted

Class JobMediaSheetsCompleted is an integer valued printing attribute class that specifies the number of media sheets which have completed marking and stacking for the entire job so far, whether those sheets have been processed on one side or on both.

The JobMediaSheetsCompleted attribute describes the progress of the job. This attribute is intended to be a counter. That is, the JobMediaSheetsCompleted value for a job that has not started processing must be 0. When the job's JobState is PROCESSING or PROCESSING_STOPPED, the JobMediaSheetsCompleted value is intended to increase as the job is processed; it indicates the amount of the job that has been processed at the time the Print Job's attribute set is queried or at the time a print job event is reported. When the job enters the COMPLETED, CANCELED, or ABORTED states, the JobMediaSheetsCompleted value is the final value for the job.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class JobMediaSheetsCompleted is an integer valued printing attribute class
that specifies the number of media sheets which have completed marking and
stacking for the entire job so far, whether those sheets have been processed
on one side or on both.

The JobMediaSheetsCompleted attribute describes the progress of the job. This
attribute is intended to be a counter. That is, the JobMediaSheetsCompleted
value for a job that has not started processing must be 0. When the job's
JobState is PROCESSING or PROCESSING_STOPPED, the
JobMediaSheetsCompleted value is intended to increase as the job is
processed; it indicates the amount of the job that has been processed at the
time the Print Job's attribute set is queried or at the time a print job
event is reported. When the job enters the COMPLETED, CANCELED, or ABORTED
states, the JobMediaSheetsCompleted value is the final value for the job.

IPP Compatibility: The integer value gives the IPP integer value. The
category name returned by getName() gives the IPP attribute
name.
raw docstring

javax.print.attribute.standard.JobMediaSheetsSupported

Class JobMediaSheetsSupported is a printing attribute class, a set of integers, that gives the supported values for a JobMediaSheets attribute. It is restricted to a single contiguous range of integers; multiple non-overlapping ranges are not allowed. This gives the lower and upper bounds of the total sizes of print jobs in number of media sheets that the printer will accept.

IPP Compatibility: The JobMediaSheetsSupported attribute's canonical array form gives the lower and upper bound for the range of values to be included in an IPP "job-media-sheets-supported" attribute. See class SetOfIntegerSyntax for an explanation of canonical array form. The category name returned by getName() gives the IPP attribute name.

Class JobMediaSheetsSupported is a printing attribute class, a set of
integers, that gives the supported values for a JobMediaSheets attribute. It is restricted to a single contiguous range of
integers; multiple non-overlapping ranges are not allowed. This gives the
lower and upper bounds of the total sizes of print jobs in number of media
sheets that the printer will accept.

IPP Compatibility: The JobMediaSheetsSupported attribute's canonical
array form gives the lower and upper bound for the range of values to be
included in an IPP "job-media-sheets-supported" attribute. See class SetOfIntegerSyntax for an
explanation of canonical array form. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.JobMessageFromOperator

Class JobMessageFromOperator is a printing attribute class, a text attribute, that provides a message from an operator, system administrator, or "intelligent" process to indicate to the end user the reasons for modification or other management action taken on a job.

A Print Job's attribute set includes zero instances or one instance of a JobMessageFromOperator attribute, not more than one instance. A new JobMessageFromOperator attribute replaces an existing JobMessageFromOperator attribute, if any. In other words, JobMessageFromOperator is not intended to be a history log. If it wishes, the client can detect changes to a Print Job's JobMessageFromOperator attribute and maintain the client's own history log of the JobMessageFromOperator attribute values.

IPP Compatibility: The string value gives the IPP name value. The locale gives the IPP natural language. The category name returned by getName() gives the IPP attribute name.

Class JobMessageFromOperator is a printing attribute class, a text attribute,
that provides a message from an operator, system administrator, or
"intelligent" process to indicate to the end user the reasons for
modification or other management action taken on a job.

A Print Job's attribute set includes zero instances or one instance of a
JobMessageFromOperator attribute, not more than one instance. A new
JobMessageFromOperator attribute replaces an existing JobMessageFromOperator
attribute, if any. In other words, JobMessageFromOperator is not intended to
be a history log. If it wishes, the client can detect changes to a Print
Job's JobMessageFromOperator attribute and maintain the client's own history
log of the JobMessageFromOperator attribute values.

IPP Compatibility: The string value gives the IPP name value. The
locale gives the IPP natural language. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.JobName

Class JobName is a printing attribute class, a text attribute, that specifies the name of a print job. A job's name is an arbitrary string defined by the client. It does not need to be unique between different jobs. A Print Job's JobName attribute is set to the value supplied by the client in the Print Request's attribute set. If, however, the client does not supply a JobName attribute in the Print Request, the printer, when it creates the Print Job, must generate a JobName. The printer should generate the value of the Print Job's JobName attribute from the first of the following sources that produces a value: (1) the DocumentName attribute of the first (or only) doc in the job, (2) the URL of the first (or only) doc in the job, if the doc's print data representation object is a URL, or (3) any other piece of Print Job specific and/or document content information.

IPP Compatibility: The string value gives the IPP name value. The locale gives the IPP natural language. The category name returned by getName() gives the IPP attribute name.

Class JobName is a printing attribute class, a text attribute, that specifies
the name of a print job. A job's name is an arbitrary string defined by the
client. It does not need to be unique between different jobs. A Print Job's
JobName attribute is set to the value supplied by the client in the Print
Request's attribute set. If, however, the client does not supply a JobName
attribute in the Print Request, the printer, when it creates the Print Job,
must generate a JobName. The printer should generate the value of the Print
Job's JobName attribute from the first of the following sources that produces
a value: (1) the DocumentName attribute of the first (or
only) doc in the job, (2) the URL of the first (or only) doc in the job, if
the doc's print data representation object is a URL, or (3) any other piece
of Print Job specific and/or document content information.

IPP Compatibility: The string value gives the IPP name value. The
locale gives the IPP natural language. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.JobOriginatingUserName

Class JobOriginatingUserName is a printing attribute class, a text attribute, that contains the name of the end user that submitted the print job. If possible, the printer sets this attribute to the most authenticated printable user name that it can obtain from the authentication service that authenticated the submitted Print Request. If such is not available, the printer uses the value of the RequestingUserName attribute supplied by the client in the Print Request's attribute set. If no authentication service is available, and the client did not supply a RequestingUserName attribute, the printer sets the JobOriginatingUserName attribute to an empty (zero-length) string.

IPP Compatibility: The string value gives the IPP name value. The locale gives the IPP natural language. The category name returned by getName() gives the IPP attribute name.

Class JobOriginatingUserName is a printing attribute class, a text
attribute, that contains the name of the end user that submitted the
print job. If possible, the printer sets this attribute to the most
authenticated printable user name that it can obtain from the
authentication service that authenticated the submitted Print Request.
If such is not available, the printer uses the value of the
RequestingUserName
attribute supplied by the client in the Print Request's attribute set.
If no authentication service is available, and the client did not supply
a RequestingUserName attribute,
the printer sets the JobOriginatingUserName attribute to an empty
(zero-length) string.

IPP Compatibility: The string value gives the IPP name value. The
locale gives the IPP natural language. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.JobPriority

Class JobPriority is an integer valued printing attribute class that specifies a print job's priority.

If a JobPriority attribute is specified for a Print Job, it specifies a priority for scheduling the job. A higher value specifies a higher priority. The value 1 indicates the lowest possible priority. The value 100 indicates the highest possible priority. Among those jobs that are ready to print, a printer must print all jobs with a priority value of n before printing those with a priority value of n-1 for all n.

If the client does not specify a JobPriority attribute for a Print Job and the printer does support the JobPriority attribute, the printer must use an implementation-defined default JobPriority value.

The client can always specify any job priority value from 1 to 100 for a job. However, a Print Service instance may support fewer than 100 different job priority levels. If this is the case, the Print Service instance automatically maps the client-specified job priority value to one of the supported job priority levels, dividing the 100 job priority values equally among the available job priority levels.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class JobPriority is an integer valued printing attribute class that
specifies a print job's priority.

If a JobPriority attribute is specified for a Print Job, it specifies a
priority for scheduling the job. A higher value specifies a higher priority.
The value 1 indicates the lowest possible priority. The value 100 indicates
the highest possible priority. Among those jobs that are ready to print, a
printer must print all jobs with a priority value of n before printing
those with a priority value of n-1 for all n.

If the client does not specify a JobPriority attribute for a Print Job and
the printer does support the JobPriority attribute, the printer must use an
implementation-defined default JobPriority value.

The client can always specify any job priority value from 1 to 100 for a job.
However, a Print Service instance may support fewer than 100 different
job priority levels. If this is the case, the Print Service instance
automatically maps the client-specified job priority value to one of the
supported job priority levels, dividing the 100 job priority values equally
among the available job priority levels.

IPP Compatibility: The integer value gives the IPP integer value. The
category name returned by getName() gives the IPP attribute
name.
raw docstring

javax.print.attribute.standard.JobPrioritySupported

Class JobPrioritySupported is an integer valued printing attribute class that specifies whether a Print Service instance supports the JobPriority attribute and the number of different job priority levels supported.

The client can always specify any JobPriority value from 1 to 100 for a job. However, the Print Service instance may support fewer than 100 different job priority levels. If this is the case, the Print Service instance automatically maps the client-specified job priority value to one of the supported job priority levels, dividing the 100 job priority values equally among the available job priority levels.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class JobPrioritySupported is an integer valued printing attribute class
that specifies whether a Print Service instance supports the JobPriority attribute and the number of different job priority
levels supported.

The client can always specify any JobPriority value
from 1 to 100 for a job. However, the Print Service instance may support
fewer than 100 different job priority levels. If this is the case, the
Print Service instance automatically maps the client-specified job priority
value to one of the supported job priority levels, dividing the 100 job
priority values equally among the available job priority levels.

IPP Compatibility: The integer value gives the IPP integer value.
The category name returned by getName() gives the IPP
attribute name.
raw docstring

javax.print.attribute.standard.JobSheets

Class JobSheets is a printing attribute class, an enumeration, that determines which job start and end sheets, if any, must be printed with a job. Class JobSheets declares keywords for standard job sheets values. Implementation- or site-defined names for a job sheets attribute may also be created by defining a subclass of class JobSheets.

The effect of a JobSheets attribute on multidoc print jobs (jobs with multiple documents) may be affected by the MultipleDocumentHandling job attribute, depending on the meaning of the particular JobSheets value.

IPP Compatibility: The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value. For a subclass, the attribute value must be localized to give the IPP name and natural language values.

Class JobSheets is a printing attribute class, an enumeration, that
determines which job start and end sheets, if any, must be printed with a
job. Class JobSheets declares keywords for standard job sheets values.
Implementation- or site-defined names for a job sheets attribute may also be
created by defining a subclass of class JobSheets.

The effect of a JobSheets attribute on multidoc print jobs (jobs with
multiple documents) may be affected by the MultipleDocumentHandling job attribute, depending on the meaning of the
particular JobSheets value.

IPP Compatibility:  The category name returned by
getName() is the IPP attribute name.  The
enumeration's integer value is the IPP enum value.  The
toString() method returns the IPP string representation of
the attribute value. For a subclass, the attribute value must be
localized to give the IPP name and natural language values.
raw docstring

javax.print.attribute.standard.JobState

JobState is a printing attribute class, an enumeration, that identifies the current state of a print job. Class JobState defines standard job state values. A Print Service implementation only needs to report those job states which are appropriate for the particular implementation; it does not have to report every defined job state. The JobStateReasons attribute augments the JobState attribute to give more detailed information about the job in the given job state.

IPP Compatibility: The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value.

JobState is a printing attribute class, an enumeration, that identifies
the current state of a print job. Class JobState defines standard job state
values. A  Print Service implementation only needs to report those job
states which are appropriate for the particular implementation; it does not
have to report every defined job state. The JobStateReasons attribute augments the JobState attribute to give more
detailed information about the job in the given job state.

IPP Compatibility: The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
raw docstring

javax.print.attribute.standard.JobStateReason

Class JobStateReason is a printing attribute class, an enumeration, that provides additional information about the job's current state, i.e., information that augments the value of the job's JobState attribute. Class JobStateReason defines standard job state reason values. A Print Service implementation only needs to report those job state reasons which are appropriate for the particular implementation; it does not have to report every defined job state reason.

Instances of JobStateReason do not appear in a Print Job's attribute set directly. Rather, a JobStateReasons attribute appears in the Print Job's attribute set. The JobStateReasons attribute contains zero, one, or more than one JobStateReason objects which pertain to the Print Job's status. The printer adds a JobStateReason object to the Print Job's JobStateReasons attribute when the corresponding condition becomes true of the Print Job, and the printer removes the JobStateReason object again when the corresponding condition becomes false, regardless of whether the Print Job's overall JobState also changed.

IPP Compatibility: The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value.

Class JobStateReason is a printing attribute class, an enumeration, that
provides additional information about the job's current state, i.e.,
information that augments the value of the job's JobState
attribute. Class JobStateReason defines standard job state reason values. A
Print Service implementation only needs to report those job state
reasons which are appropriate for the particular implementation; it does not
have to report every defined job state reason.

Instances of JobStateReason do not appear in a Print Job's attribute set
directly. Rather, a JobStateReasons attribute appears
in the Print Job's attribute set. The JobStateReasons
attribute contains zero, one, or more than one JobStateReason objects which
pertain to the Print Job's status. The printer adds a JobStateReason object
to the Print Job's JobStateReasons attribute when the
corresponding condition becomes true of the Print Job, and the printer
removes the JobStateReason object again when the corresponding condition
becomes false, regardless of whether the Print Job's overall JobState also changed.

IPP Compatibility: The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
raw docstring

javax.print.attribute.standard.JobStateReasons

Class JobStateReasons is a printing attribute class, a set of enumeration values, that provides additional information about the job's current state, i.e., information that augments the value of the job's JobState attribute.

Instances of JobStateReason do not appear in a Print Job's attribute set directly. Rather, a JobStateReasons attribute appears in the Print Job's attribute set. The JobStateReasons attribute contains zero, one, or more than one JobStateReason objects which pertain to the Print Job's status. The printer adds a JobStateReason object to the Print Job's JobStateReasons attribute when the corresponding condition becomes true of the Print Job, and the printer removes the JobStateReason object again when the corresponding condition becomes false, regardless of whether the Print Job's overall JobState also changed.

Class JobStateReasons inherits its implementation from class java.util.HashSet. Unlike most printing attributes which are immutable once constructed, class JobStateReasons is designed to be mutable; you can add JobStateReason objects to an existing JobStateReasons object and remove them again. However, like class java.util.HashSet, class JobStateReasons is not multiple thread safe. If a JobStateReasons object will be used by multiple threads, be sure to synchronize its operations (e.g., using a synchronized set view obtained from class java.util.Collections).

IPP Compatibility: The string value returned by each individual JobStateReason object's toString() method gives the IPP keyword value. The category name returned by getName() gives the IPP attribute name.

Class JobStateReasons is a printing attribute class, a set of enumeration
values, that provides additional information about the job's current state,
i.e., information that augments the value of the job's JobState attribute.

Instances of JobStateReason do not appear in a Print
Job's attribute set directly. Rather, a JobStateReasons attribute appears in
the Print Job's attribute set. The JobStateReasons attribute contains zero,
one, or more than one JobStateReason objects which
pertain to the Print Job's status. The printer adds a JobStateReason object to the Print Job's JobStateReasons attribute when the
corresponding condition becomes true of the Print Job, and the printer
removes the JobStateReason object again when the
corresponding condition becomes false, regardless of whether the Print Job's
overall JobState also changed.

Class JobStateReasons inherits its implementation from class java.util.HashSet. Unlike most printing attributes which
are immutable once constructed, class JobStateReasons is designed to be
mutable; you can add JobStateReason objects to an
existing JobStateReasons object and remove them again. However, like class
java.util.HashSet, class JobStateReasons is not
multiple thread safe. If a JobStateReasons object will be used by multiple
threads, be sure to synchronize its operations (e.g., using a synchronized
set view obtained from class java.util.Collections).

IPP Compatibility: The string value returned by each individual JobStateReason object's toString() method gives
the IPP keyword value. The category name returned by getName()
gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.Media

Class Media is a printing attribute class that specifies the medium on which to print.

Media may be specified in different ways.

it may be specified by paper source - eg paper tray it may be specified by a standard size - eg "A4" it may be specified by a name - eg "letterhead"

Each of these corresponds to the IPP "media" attribute. The current API does not support describing media by characteristics (eg colour, opacity). This may be supported in a later revision of the specification.

A Media object is constructed with a value which represents one of the ways in which the Media attribute can be specified.

IPP Compatibility: The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value.

Class Media is a printing attribute class that specifies the
medium on which to print.

Media may be specified in different ways.

 it may be specified by paper source - eg paper tray
 it may be specified by a standard size - eg "A4"
 it may be specified by a name - eg "letterhead"

Each of these corresponds to the IPP "media" attribute.
The current API does not support describing media by characteristics
(eg colour, opacity).
This may be supported in a later revision of the specification.

A Media object is constructed with a value which represents
one of the ways in which the Media attribute can be specified.

IPP Compatibility:  The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
raw docstring

javax.print.attribute.standard.MediaName

Class MediaName is a subclass of Media, a printing attribute class (an enumeration) that specifies the media for a print job as a name.

This attribute can be used instead of specifying MediaSize or MediaTray.

Class MediaName currently declares a few standard media names. Implementation- or site-defined names for a media name attribute may also be created by defining a subclass of class MediaName.

IPP Compatibility: MediaName is a representation class for values of the IPP "media" attribute which names media.

Class MediaName is a subclass of Media, a printing attribute class (an
enumeration) that specifies the media for a print job as a name.

This attribute can be used instead of specifying MediaSize or MediaTray.

Class MediaName currently declares a few standard media names.
Implementation- or site-defined names for a media name attribute may also
be created by defining a subclass of class MediaName.

IPP Compatibility: MediaName is a representation class for
values of the IPP "media" attribute which names media.
raw docstring

javax.print.attribute.standard.MediaPrintableArea

Class MediaPrintableArea is a printing attribute used to distinguish the printable and non-printable areas of media.

The printable area is specified to be a rectangle, within the overall dimensions of a media.

Most printers cannot print on the entire surface of the media, due to printer hardware limitations. This class can be used to query the acceptable values for a supposed print job, and to request an area within the constraints of the printable area to be used in a print job.

To query for the printable area, a client must supply a suitable context. Without specifying at the very least the size of the media being used no meaningful value for printable area can be obtained.

The attribute is not described in terms of the distance from the edge of the paper, in part to emphasise that this attribute is not independent of a particular media, but must be described within the context of a choice of other attributes. Additionally it is usually more convenient for a client to use the printable area.

The hardware's minimum margins is not just a property of the printer, but may be a function of the media size, orientation, media type, and any specified finishings. PrintService provides the method to query the supported values of an attribute in a suitable context : See PrintService.getSupportedAttributeValues()

The rectangular printable area is defined thus: The (x,y) origin is positioned at the top-left of the paper in portrait mode regardless of the orientation specified in the requesting context. For example a printable area for A4 paper in portrait or landscape orientation will have height > width.

A printable area attribute's values are stored internally as integers in units of micrometers (µm), where 1 micrometer = 10-6 meter = 1/1000 millimeter = 1/25400 inch. This permits dimensions to be represented exactly to a precision of 1/1000 mm (= 1 µm) or 1/100 inch (= 254 µm). If fractional inches are expressed in

negative powers of two, this permits dimensions to be represented exactly to a precision of 1/8 inch (= 3175 µm) but not 1/16 inch (because 1/16 inch

does not equal an integral number of µm).

IPP Compatibility: MediaPrintableArea is not an IPP attribute.

Class MediaPrintableArea is a printing attribute used to distinguish
the printable and non-printable areas of media.

The printable area is specified to be a rectangle, within the overall
dimensions of a media.

Most printers cannot print on the entire surface of the media, due
to printer hardware limitations. This class can be used to query
the acceptable values for a supposed print job, and to request an area
within the constraints of the printable area to be used in a print job.

To query for the printable area, a client must supply a suitable context.
Without specifying at the very least the size of the media being used
no meaningful value for printable area can be obtained.

The attribute is not described in terms of the distance from the edge
of the paper, in part to emphasise that this attribute is not independent
of a particular media, but must be described within the context of a
choice of other attributes. Additionally it is usually more convenient
for a client to use the printable area.

The hardware's minimum margins is not just a property of the printer,
but may be a function of the media size, orientation, media type, and
any specified finishings.
PrintService provides the method to query the supported
values of an attribute in a suitable context :
See  PrintService.getSupportedAttributeValues()

The rectangular printable area is defined thus:
The (x,y) origin is positioned at the top-left of the paper in portrait
mode regardless of the orientation specified in the requesting context.
For example a printable area for A4 paper in portrait or landscape
orientation will have height > width.

A printable area attribute's values are stored
internally as integers in units of micrometers (µm), where 1 micrometer
= 10-6 meter = 1/1000 millimeter = 1/25400 inch. This permits
dimensions to be represented exactly to a precision of 1/1000 mm (= 1
µm) or 1/100 inch (= 254 µm). If fractional inches are expressed in

negative powers of two, this permits dimensions to be represented exactly to
a precision of 1/8 inch (= 3175 µm) but not 1/16 inch (because 1/16 inch

does not equal an integral number of µm).

IPP Compatibility: MediaPrintableArea is not an IPP attribute.
raw docstring

javax.print.attribute.standard.MediaSize

Class MediaSize is a two-dimensional size valued printing attribute class that indicates the dimensions of the medium in a portrait orientation, with the X dimension running along the bottom edge and the Y dimension running along the left edge. Thus, the Y dimension must be greater than or equal to the X dimension. Class MediaSize declares many standard media size values, organized into nested classes for ISO, JIS, North American, engineering, and other media.

MediaSize is not yet used to specify media. Its current role is as a mapping for named media (see MediaSizeName). Clients can use the mapping method MediaSize.getMediaSizeForName(MediaSizeName) to find the physical dimensions of the MediaSizeName instances enumerated in this API. This is useful for clients which need this information to format & paginate printing.

Class MediaSize is a two-dimensional size valued printing attribute class
that indicates the dimensions of the medium in a portrait orientation, with
the X dimension running along the bottom edge and the Y dimension running
along the left edge. Thus, the Y dimension must be greater than or equal to
the X dimension. Class MediaSize declares many standard media size
values, organized into nested classes for ISO, JIS, North American,
engineering, and other media.

MediaSize is not yet used to specify media. Its current role is
as a mapping for named media (see MediaSizeName).
Clients can use the mapping method
MediaSize.getMediaSizeForName(MediaSizeName)
to find the physical dimensions of the MediaSizeName instances
enumerated in this API. This is useful for clients which need this
information to format & paginate printing.
raw docstring

javax.print.attribute.standard.MediaSize$Engineering

Class MediaSize.Engineering includes MediaSize values for engineering media.

Class MediaSize.Engineering includes MediaSize values
for engineering media.
raw docstring

javax.print.attribute.standard.MediaSize$Other

Class MediaSize.Other includes MediaSize values for miscellaneous media.

Class MediaSize.Other includes MediaSize values for
miscellaneous media.
raw docstring

javax.print.attribute.standard.MediaSizeName

Class MediaSizeName is a subclass of Media.

This attribute can be used instead of specifying MediaName or MediaTray.

Class MediaSizeName currently declares a few standard media name values.

IPP Compatibility: MediaSizeName is a representation class for values of the IPP "media" attribute which names media sizes. The names of the media sizes correspond to those in the IPP 1.1 RFC RFC 2911

Class MediaSizeName is a subclass of Media.

This attribute can be used instead of specifying MediaName or MediaTray.

Class MediaSizeName currently declares a few standard media
name values.

IPP Compatibility: MediaSizeName is a representation class for
values of the IPP "media" attribute which names media sizes.
The names of the media sizes correspond to those in the IPP 1.1 RFC
RFC 2911
raw docstring

javax.print.attribute.standard.MediaTray

Class MediaTray is a subclass of Media. Class MediaTray is a printing attribute class, an enumeration, that specifies the media tray or bin for the job. This attribute can be used instead of specifying MediaSize or MediaName.

Class MediaTray declares keywords for standard media kind values. Implementation- or site-defined names for a media kind attribute may also be created by defining a subclass of class MediaTray.

IPP Compatibility: MediaTray is a representation class for values of the IPP "media" attribute which name paper trays.

Class MediaTray is a subclass of Media.
Class MediaTray is a printing attribute class, an enumeration, that
specifies the media tray or bin for the job.
This attribute can be used instead of specifying MediaSize or MediaName.

Class MediaTray declares keywords for standard media kind values.
Implementation- or site-defined names for a media kind attribute may also
be created by defining a subclass of class MediaTray.

IPP Compatibility: MediaTray is a representation class for
values of the IPP "media" attribute which name paper trays.
raw docstring

javax.print.attribute.standard.MultipleDocumentHandling

Class MultipleDocumentHandling is a printing attribute class, an enumeration, that controls finishing operations and the placement of one or more print-stream pages into impressions and onto media sheets. When the value of the Copies attribute exceeds 1, MultipleDocumentHandling also controls the order in which the copies that result from processing the documents are produced. This attribute is relevant only for a multidoc print job consisting of two or more individual docs.

Briefly, MultipleDocumentHandling determines the relationship between the multiple input (electronic) documents fed into a multidoc print job and the output (physical) document or documents produced by the multidoc print job. There are two possibilities:

The multiple input documents are combined into a single output document. Finishing operations (Finishings), are performed on this single output document. The Copies attribute tells how many copies of this single output document to produce. The MultipleDocumentHandling values SINGLE_DOCUMENT and SINGLE_DOCUMENT_NEW_SHEET specify two variations of this possibility.

The multiple input documents remain separate output documents. Finishing operations (Finishings), are performed on each output document separately. The Copies attribute tells how many copies of each separate output document to produce. The MultipleDocumentHandling values SEPARATE_DOCUMENTS_UNCOLLATED_COPIES and SEPARATE_DOCUMENTS_COLLATED_COPIES specify two variations of this possibility.

In the detailed explanations below, if "a" represents an instance of document data, then the result of processing the data in document "a" is a sequence of media sheets represented by "a(*)".

The standard MultipleDocumentHandling values are:

SINGLE_DOCUMENT. If a print job has multiple documents -- say, the document data is called a and b -- then the result of processing all the document data (a and then b) must be treated as a single sequence of media sheets for finishing operations; that is, finishing would be performed on the concatenation of the sequences a(),b(). The printer must not force the data in each document instance to be formatted onto a new print-stream page, nor to start a new impression on a new media sheet. If more than one copy is made, the ordering of the sets of media sheets resulting from processing the document data must be a(),b(),a(),b(),..., and the printer object must force each copy (a(),b()) to start on a new media sheet.

SEPARATE_DOCUMENTS_UNCOLLATED_COPIES. If a print job has multiple documents -- say, the document data is called a and b -- then the result of processing the data in each document instance must be treated as a single sequence of media sheets for finishing operations; that is, the sets a() and b() would each be finished separately. The printer must force each copy of the result of processing the data in a single document to start on a new media sheet. If more than one copy is made, the ordering of the sets of media sheets resulting from processing the document data must be a(),a(),...,b(),b()....

SEPARATE_DOCUMENTS_COLLATED_COPIES. If a print job has multiple documents -- say, the document data is called a and b -- then the result of processing the data in each document instance must be treated as a single sequence of media sheets for finishing operations; that is, the sets a() and b() would each be finished separately. The printer must force each copy of the result of processing the data in a single document to start on a new media sheet. If more than one copy is made, the ordering of the sets of media sheets resulting from processing the document data must be a(),b(),a(),b(),....

SINGLE_DOCUMENT_NEW_SHEET. Same as SINGLE_DOCUMENT, except that the printer must ensure that the first impression of each document instance in the job is placed on a new media sheet. This value allows multiple documents to be stapled together with a single staple where each document starts on a new sheet.

SINGLE_DOCUMENT is the same as SEPARATE_DOCUMENTS_COLLATED_COPIES with respect to ordering of print-stream pages, but not media sheet generation, since SINGLE_DOCUMENT will put the first page of the next document on the back side of a sheet if an odd number of pages have been produced so far for the job, while SEPARATE_DOCUMENTS_COLLATED_COPIES always forces the next document or document copy on to a new sheet.

In addition, if a Finishings attribute of STAPLE is specified, then:

With SINGLE_DOCUMENT, documents a and b are stapled together as a single document with no regard to new sheets.

With SINGLE_DOCUMENT_NEW_SHEET, documents a and b are stapled together as a single document, but document b starts on a new sheet.

With SEPARATE_DOCUMENTS_UNCOLLATED_COPIES and SEPARATE_DOCUMENTS_COLLATED_COPIES, documents a and b are stapled separately.

Note: None of these values provide means to produce uncollated sheets within a document, i.e., where multiple copies of sheet n are produced before sheet n+1 of the same document. To specify that, see the SheetCollate attribute.

IPP Compatibility: The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value.

Class MultipleDocumentHandling is a printing attribute class, an enumeration,
that controls finishing operations and the placement of one or more
print-stream pages into impressions and onto media sheets. When the value of
the Copies attribute exceeds 1, MultipleDocumentHandling also
controls the order in which the copies that result from processing the
documents are produced. This attribute is relevant only for a multidoc print
job consisting of two or more individual docs.

Briefly, MultipleDocumentHandling determines the relationship between the
multiple input (electronic) documents fed into a multidoc print job and the
output (physical) document or documents produced by the multidoc print job.
There are two possibilities:


The multiple input documents are combined into a single output document.
Finishing operations (Finishings),
are performed on this single output
document. The Copies attribute tells how many copies of this
single output document to produce. The MultipleDocumentHandling values
SINGLE_DOCUMENT and SINGLE_DOCUMENT_NEW_SHEET specify two variations of
this  possibility.


The multiple input documents remain separate output documents. Finishing
operations (Finishings),
are performed on each output document
separately. The Copies attribute tells how many copies of each
separate output document to produce. The MultipleDocumentHandling values
SEPARATE_DOCUMENTS_UNCOLLATED_COPIES and SEPARATE_DOCUMENTS_COLLATED_COPIES
specify two variations of this possibility.


In the detailed explanations below, if "a" represents an
instance of document data, then the result of processing the data in
document "a" is a sequence of media sheets represented by
"a(*)".

The standard MultipleDocumentHandling values are:


SINGLE_DOCUMENT. If a print job has multiple
documents -- say, the document data is called a and
b -- then the result of processing all the document data
(a and then b) must be treated as a single sequence
of media sheets for finishing operations; that is, finishing would be
performed on the concatenation of the sequences a(*),b(*). The
printer must not force the data in each document instance to be formatted
onto a new print-stream page, nor to start a new impression on a new media
sheet. If more than one copy is made, the ordering of the sets of media
sheets resulting from processing the document data must be
a(*),b(*),a(*),b(*),..., and the printer object must force
each copy (a(*),b(*)) to start on a new media sheet.


SEPARATE_DOCUMENTS_UNCOLLATED_COPIES. If a print job
has multiple documents -- say, the document data is called a and
b -- then the result of processing the data in each document
instance must be treated as a single sequence of media sheets for finishing
operations; that is, the sets a(*) and b(*) would
each be finished separately. The printer must force each copy of the result
of processing the data in a single document to start on a new media sheet.
If more than one copy is made, the ordering of the sets of media sheets
resulting from processing the document data must be
a(*),a(*),...,b(*),b(*)....


SEPARATE_DOCUMENTS_COLLATED_COPIES. If a print job
has multiple documents -- say, the document data is called a and
b -- then the result of processing the data in each document
instance must be treated as a single sequence of media sheets for finishing
operations; that is, the sets a(*) and b(*) would
each be finished separately. The printer must force each copy of the result
of processing the data in a single document to start on a new media sheet.
If more than one copy is made, the ordering of the sets of media sheets
resulting from processing the document data must be
a(*),b(*),a(*),b(*),....


SINGLE_DOCUMENT_NEW_SHEET. Same as SINGLE_DOCUMENT,
except that the printer must ensure that the first impression of each
document instance in the job is placed on a new media sheet. This value
allows multiple documents to be stapled together with a single staple where
each document starts on a new sheet.


SINGLE_DOCUMENT is the same as SEPARATE_DOCUMENTS_COLLATED_COPIES with
respect to ordering of print-stream pages, but not media sheet generation,
since SINGLE_DOCUMENT will put the first page of the next document on the
back side of a sheet if an odd number of pages have been produced so far
for the job, while SEPARATE_DOCUMENTS_COLLATED_COPIES always forces the
next document or document copy on to a new sheet.

In addition, if a Finishings attribute of
STAPLE is specified, then:


With SINGLE_DOCUMENT, documents a and b are
stapled together as a single document with no regard to new sheets.


With SINGLE_DOCUMENT_NEW_SHEET, documents a and b
are stapled together as a single document, but document b
starts on a new sheet.


With SEPARATE_DOCUMENTS_UNCOLLATED_COPIES and
SEPARATE_DOCUMENTS_COLLATED_COPIES, documents a and
b are stapled separately.


Note: None of these values provide means to produce uncollated
sheets within a document, i.e., where multiple copies of sheet n
are produced before sheet n+1 of the same document.
To specify that, see the SheetCollate attribute.

IPP Compatibility: The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
raw docstring

javax.print.attribute.standard.NumberOfDocuments

Class NumberOfDocuments is an integer valued printing attribute that indicates the number of individual docs the printer has accepted for this job, regardless of whether the docs' print data has reached the printer or not.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class NumberOfDocuments is an integer valued printing attribute that
indicates the number of individual docs the printer has accepted for this
job, regardless of whether the docs' print data has reached the printer or
not.

IPP Compatibility: The integer value gives the IPP integer value. The
category name returned by getName() gives the IPP attribute
name.
raw docstring

javax.print.attribute.standard.NumberOfInterveningJobs

Class NumberOfInterveningJobs is an integer valued printing attribute that indicates the number of jobs that are ahead of this job in the relative chronological order of expected time to complete (i.e., the current scheduled order).

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class NumberOfInterveningJobs is an integer valued printing attribute that
indicates the number of jobs that are ahead of this job in the relative
chronological order of expected time to complete (i.e., the current
scheduled order).

IPP Compatibility: The integer value gives the IPP integer value.
The category name returned by getName() gives the IPP
attribute name.
raw docstring

javax.print.attribute.standard.NumberUp

Class NumberUp is an integer valued printing attribute class that specifies the number of print-stream pages to impose upon a single side of an instance of a selected medium. That is, if the NumberUp value is n, the printer must place n print-stream pages on a single side of an instance of the selected medium. To accomplish this, the printer may add some sort of translation, scaling, or rotation. This attribute primarily controls the translation, scaling and rotation of print-stream pages.

The effect of a NumberUp attribute on a multidoc print job (a job with multiple documents) depends on whether all the docs have the same number up values specified or whether different docs have different number up values specified, and on the (perhaps defaulted) value of the MultipleDocumentHandling attribute.

If all the docs have the same number up value n specified, then any value of MultipleDocumentHandling makes sense, and the printer's processing depends on the MultipleDocumentHandling value:

SINGLE_DOCUMENT -- All the input docs will be combined together into one output document. Each media impression will consist of nm print-stream pages from the output document.

SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be combined together into one output document. Each media impression will consist of n print-stream pages from the output document. However, the first impression of each input doc will always start on a new media sheet; this means the last impression of an input doc may have fewer than n print-stream pages on it.

SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- The input docs will remain separate. Each media impression will consist of n print-stream pages from the input doc. Since the input docs are separate, the first impression of each input doc will always start on a new media sheet; this means the last impression of an input doc may have fewer than n print-stream pages on it.

SEPARATE_DOCUMENTS_COLLATED_COPIES -- The input docs will remain separate. Each media impression will consist of n print-stream pages from the input doc. Since the input docs are separate, the first impression of each input doc will always start on a new media sheet; this means the last impression of an input doc may have fewer than n print-stream pages on it.

SINGLE_DOCUMENT -- All the input docs will be combined together into one output document. Each media impression will consist of ni print-stream pages from the output document, where i is the number of the input doc corresponding to that point in the output document. When the next input doc has a different number up value from the previous input doc, the first print-stream page of the next input doc goes at the start of the next media impression, possibly leaving fewer than the full number of print-stream pages on the previous media impression.

SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be combined together into one output document. Each media impression will consist of n print-stream pages from the output document. However, the first impression of each input doc will always start on a new media sheet; this means the last impression of an input doc may have fewer than n print-stream pages on it.

SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- The input docs will remain separate. For input doc i, each media impression will consist of ni print-stream pages from the input doc. Since the input docs are separate, the first impression of each input doc will always start on a new media sheet; this means the last impression of an input doc may have fewer than ni print-stream pages on it.

SEPARATE_DOCUMENTS_COLLATED_COPIES -- The input docs will remain separate. For input doc i, each media impression will consist of ni print-stream pages from the input doc. Since the input docs are separate, the first impression of each input doc will always start on a new media sheet; this means the last impression of an input doc may have fewer than ni print-stream pages on it.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class NumberUp is an integer valued printing attribute class that specifies
the number of print-stream pages to impose upon a single side of an
instance of a selected medium. That is, if the NumberUp value is n,
the printer must place n print-stream pages on a single side of
an instance of the
selected medium. To accomplish this, the printer may add some sort of
translation, scaling, or rotation. This attribute primarily controls the
translation, scaling and rotation of print-stream pages.

The effect of a NumberUp attribute on a multidoc print job (a job with
multiple documents) depends on whether all the docs have the same number up
values specified or whether different docs have different number up values
specified, and on the (perhaps defaulted) value of the MultipleDocumentHandling attribute.


If all the docs have the same number up value n specified, then any
value of MultipleDocumentHandling makes
sense, and the printer's processing depends on the MultipleDocumentHandling value:


SINGLE_DOCUMENT -- All the input docs will be combined together into one
output document. Each media impression will consist of nm
 print-stream pages from the output document.


SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be combined together
into one output document. Each media impression will consist of n
print-stream pages from the output document. However, the first impression of
each input doc will always start on a new media sheet; this means the last
impression of an input doc may have fewer than n print-stream pages
 on it.


SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- The input docs will remain separate.
Each media impression will consist of n print-stream pages from the
input doc. Since the input docs are separate, the first impression of each
input doc will always start on a new media sheet; this means the last
impression of an input doc may have fewer than n print-stream pages on
it.


SEPARATE_DOCUMENTS_COLLATED_COPIES -- The input docs will remain separate.
Each media impression will consist of n print-stream pages from the
input doc. Since the input docs are separate, the first impression of each
input doc will always start on a new media sheet; this means the last
impression of an input doc may have fewer than n print-stream pages
on it.



SINGLE_DOCUMENT -- All the input docs will be combined together into one
output document. Each media impression will consist of ni
print-stream pages from the output document, where i is the number of
the input doc corresponding to that point in the output document. When the
next input doc has a different number up value from the previous input doc,
the first print-stream page of the next input doc goes at the start of the
next media impression, possibly leaving fewer than the full number of
print-stream pages on the previous media impression.


SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be combined together
into one output document. Each media impression will consist of n
print-stream pages from the output document. However, the first impression of
each input doc will always start on a new media sheet; this means the last
impression of an input doc may have fewer than n print-stream pages
on it.


SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- The input docs will remain separate.
For input doc i, each media impression will consist of
ni print-stream pages from the input doc. Since the input
docs are separate, the first impression of each input doc will always start
on a new media sheet; this means the last impression of an input doc may have
fewer than ni print-stream pages on it.


SEPARATE_DOCUMENTS_COLLATED_COPIES -- The input docs will remain separate.
For input doc i, each media impression will consist of
ni print-stream pages from the input doc. Since the input
docs are separate, the first impression of each input doc will always start
on a new media sheet; this means the last impression of an input doc may
have fewer than ni print-stream pages on it.


IPP Compatibility: The integer value gives the IPP integer value.
The category name returned by getName() gives the IPP
attribute name.
raw docstring

javax.print.attribute.standard.NumberUpSupported

Class NumberUpSupported is a printing attribute class, a set of integers, that gives the supported values for a NumberUp attribute.

IPP Compatibility: The NumberUpSupported attribute's canonical array form gives the lower and upper bound for each range of number-up to be included in an IPP "number-up-supported" attribute. See class SetOfIntegerSyntax for an explanation of canonical array form. The category name returned by getName() gives the IPP attribute name.

Class NumberUpSupported is a printing attribute class, a set of integers,
that gives the supported values for a NumberUp attribute.

IPP Compatibility: The NumberUpSupported attribute's canonical array
form gives the lower and upper bound for each range of number-up to be
included in an IPP "number-up-supported" attribute. See class SetOfIntegerSyntax for an
explanation of canonical array form. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.OrientationRequested

Class OrientationRequested is a printing attribute class, an enumeration, that indicates the desired orientation for printed print-stream pages; it does not describe the orientation of the client-supplied print-stream pages.

For some document formats (such as "application/postscript"), the desired orientation of the print-stream pages is specified within the document data. This information is generated by a device driver prior to the submission of the print job. Other document formats (such as "text/plain") do not include the notion of desired orientation within the document data. In the latter case it is possible for the printer to bind the desired orientation to the document data after it has been submitted. It is expected that a printer would only support the OrientationRequested attribute for some document formats (e.g., "text/plain" or "text/html") but not others (e.g. "application/postscript"). This is no different from any other job template attribute, since a print job can always impose constraints among the values of different job template attributes. However, a special mention is made here since it is very likely that a printer will support the OrientationRequested attribute for only a subset of the supported document formats.

IPP Compatibility: The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value.

Class OrientationRequested is a printing attribute class, an enumeration,
that indicates the desired orientation for printed print-stream pages; it
does not describe the orientation of the client-supplied print-stream
pages.

For some document formats (such as "application/postscript"),
the desired orientation of the print-stream pages is specified within the
document data. This information is generated by a device driver prior to
the submission of the print job. Other document formats (such as
"text/plain") do not include the notion of desired orientation
within the document data. In the latter case it is possible for the printer
to bind the desired orientation to the document data after it has been
submitted. It is expected that a printer would only support the
OrientationRequested attribute for some document formats (e.g.,
"text/plain" or "text/html") but not others (e.g.
"application/postscript"). This is no different from any other
job template attribute, since a print job can always impose constraints
among the values of different job template attributes.
 However, a special mention
is made here since it is very likely that a printer will support the
OrientationRequested attribute for only a subset of the supported document
formats.

IPP Compatibility: The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
raw docstring

javax.print.attribute.standard.OutputDeviceAssigned

Class OutputDeviceAssigned is a printing attribute class, a text attribute, that identifies the output device to which the service has assigned this job. If an output device implements an embedded Print Service instance, the printer need not set this attribute. If a print server implements a Print Service instance, the value may be empty (zero- length string) or not returned until the service assigns an output device to the job. This attribute is particularly useful when a single service supports multiple devices (so called "fan-out").

IPP Compatibility: The string value gives the IPP name value. The locale gives the IPP natural language. The category name returned by getName() gives the IPP attribute name.

Class OutputDeviceAssigned is a printing attribute class, a text attribute,
that identifies the output device to which the service has assigned this
job. If an output device implements an embedded Print Service instance, the
printer need not set this attribute. If a print server implements a
Print Service instance, the value may be empty (zero- length string) or not
returned until the service assigns an output device to the job. This
attribute is particularly useful when a single service supports multiple
devices (so called "fan-out").

IPP Compatibility: The string value gives the IPP name value. The
locale gives the IPP natural language. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.PageRanges

Class PageRanges is a printing attribute class, a set of integers, that identifies the range(s) of print-stream pages that the Printer object uses for each copy of each document which are to be printed. Nothing is printed for any pages identified that do not exist in the document(s). The attribute is associated with print-stream pages, not application-numbered pages (for example, the page numbers found in the headers and or footers for certain word processing applications).

In most cases, the exact pages to be printed will be generated by a device driver and this attribute would not be required. However, when printing an archived document which has already been formatted, the end user may elect to print just a subset of the pages contained in the document. In this case, if a page range of "n-m" is specified, the first page to be printed will be page n. All subsequent pages of the document will be printed through and including page m.

If a PageRanges attribute is not specified for a print job, all pages of the document will be printed. In other words, the default value for the PageRanges attribute is always {{1, Integer.MAX_VALUE}}.

The effect of a PageRanges attribute on a multidoc print job (a job with multiple documents) depends on whether all the docs have the same page ranges specified or whether different docs have different page ranges specified, and on the (perhaps defaulted) value of the MultipleDocumentHandling attribute.

If all the docs have the same page ranges specified, then any value of MultipleDocumentHandling makes sense, and the printer's processing depends on the MultipleDocumentHandling value:

SINGLE_DOCUMENT -- All the input docs will be combined together into one output document. The specified page ranges of that output document will be printed.

SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be combined together into one output document, and the first impression of each input doc will always start on a new media sheet. The specified page ranges of that output document will be printed.

SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- For each separate input doc, the specified page ranges will be printed.

SEPARATE_DOCUMENTS_COLLATED_COPIES -- For each separate input doc, the specified page ranges will be printed.

SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- For each separate input doc, its own specified page ranges will be printed..

SEPARATE_DOCUMENTS_COLLATED_COPIES -- For each separate input doc, its own specified page ranges will be printed..

IPP Compatibility: The PageRanges attribute's canonical array form gives the lower and upper bound for each range of pages to be included in and IPP "page-ranges" attribute. See class SetOfIntegerSyntax for an explanation of canonical array form. The category name returned by getName() gives the IPP attribute name.

Class PageRanges is a printing attribute class, a set of integers, that
identifies the range(s) of print-stream pages that the Printer object uses
for each copy of each document which are to be printed. Nothing is printed
for any pages identified that do not exist in the document(s). The attribute
is associated with print-stream pages, not application-numbered pages
(for example, the page numbers found in the headers and or footers for
certain word processing applications).

In most cases, the exact pages to be printed will be generated by a device
driver and this attribute would not be required. However, when printing an
archived document which has already been formatted, the end user may elect to
print just a subset of the pages contained in the document. In this case, if
a page range of "n-m" is specified, the first page
to be printed will be page n. All subsequent pages of the document
will be printed through and including page m.

If a PageRanges attribute is not specified for a print job, all pages of
the document will be printed. In other words, the default value for the
PageRanges attribute is always {{1, Integer.MAX_VALUE}}.

The effect of a PageRanges attribute on a multidoc print job (a job with
multiple documents) depends on whether all the docs have the same page ranges
specified or whether different docs have different page ranges specified, and
on the (perhaps defaulted) value of the MultipleDocumentHandling attribute.


If all the docs have the same page ranges specified, then any value of MultipleDocumentHandling makes sense, and the
printer's processing depends on the MultipleDocumentHandling value:


SINGLE_DOCUMENT -- All the input docs will be combined together into one
output document. The specified page ranges of that output document will be
printed.


SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be combined together
into one output document, and the first impression of each input doc will
always start on a new media sheet. The specified page ranges of that output
document will be printed.


SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- For each separate input doc, the
specified page ranges will be printed.


SEPARATE_DOCUMENTS_COLLATED_COPIES -- For each separate input doc, the
specified page ranges will be printed.



SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- For each separate input doc, its own
specified page ranges will be printed..


SEPARATE_DOCUMENTS_COLLATED_COPIES -- For each separate input doc, its own
specified page ranges will be printed..



IPP Compatibility: The PageRanges attribute's canonical array form
gives the lower and upper bound for each range of pages to be included in
and IPP "page-ranges" attribute. See class SetOfIntegerSyntax for an
explanation of canonical array form. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.PagesPerMinute

Class PagesPerMinute is an integer valued printing attribute that indicates the nominal number of pages per minute to the nearest whole number which may be generated by this printer (e.g., simplex, black-and-white). This attribute is informative, not a service guarantee. Generally, it is the value used in the marketing literature to describe the device. A value of 0 indicates a device that takes more than two minutes to process a page.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class PagesPerMinute is an integer valued printing attribute that indicates
the nominal number of pages per minute to the nearest whole number which may
be generated by this printer (e.g., simplex, black-and-white). This attribute
is informative, not a service guarantee. Generally, it is the value used in
the marketing literature to describe the device. A value of 0 indicates a
device that takes more than two minutes to process a page.

IPP Compatibility: The integer value gives the IPP integer value. The
category name returned by getName() gives the IPP attribute
name.
raw docstring

javax.print.attribute.standard.PagesPerMinuteColor

Class PagesPerMinuteColor is an integer valued printing attribute that indicates the nominal number of pages per minute to the nearest whole number which may be generated by this printer when printing color (e.g., simplex, color). For purposes of this attribute, "color" means the same as for the ColorSupported attribute, namely, the device is capable of any type of color printing at all, including highlight color as well as full process color. This attribute is informative, not a service guarantee. Generally, it is the value used in the marketing literature to describe the color capabilities of this device. A value of 0 indicates a device that takes more than two minutes to process a page. If a color device has several color modes, it may use the pages-per- minute value for this attribute that corresponds to the mode that produces the highest number.

A black and white only printer must not include the PagesPerMinuteColor attribute in its attribute set or service registration. If this attribute is present, then the ColorSupported printer description attribute must also be present and have a value of SUPPORTED.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class PagesPerMinuteColor is an integer valued printing attribute that
indicates the nominal number of pages per minute to the nearest whole number
which may be generated by this printer when printing color (e.g., simplex,
color). For purposes of this attribute, "color" means the same as for the
ColorSupported attribute, namely, the device is
capable of any type of color printing at all, including highlight color as
well as full process color. This attribute is informative, not a service
guarantee. Generally, it is the value used in the marketing literature to
describe the color capabilities of this device. A value of 0 indicates a
device that takes more than two minutes to process a page. If a color device
has several color modes, it may use the pages-per- minute value for this
attribute that corresponds to the mode that produces the highest number.

A black and white only printer must not include the PagesPerMinuteColor
attribute in its attribute set or service registration. If this attribute is
present, then the ColorSupported printer description
attribute must also be present and have a value of SUPPORTED.

IPP Compatibility: The integer value gives the IPP integer value. The
category name returned by getName() gives the IPP attribute
name.
raw docstring

javax.print.attribute.standard.PDLOverrideSupported

Class PDLOverrideSupported is a printing attribute class, an enumeration, that expresses the printer's ability to attempt to override processing instructions embedded in documents' print data with processing instructions specified as attributes outside the print data.

IPP Compatibility: The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value.

Class PDLOverrideSupported is a printing attribute class, an enumeration,
that expresses the printer's ability to attempt to override processing
instructions embedded in documents' print data with processing instructions
specified as attributes outside the print data.

IPP Compatibility: The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
raw docstring

javax.print.attribute.standard.PresentationDirection

Class PresentationDirection is a printing attribute class, an enumeration, that is used in conjunction with the NumberUp attribute to indicate the layout of multiple print-stream pages to impose upon a single side of an instance of a selected medium. This is useful to mirror the text layout conventions of different scripts. For example, English is "toright-tobottom", Hebrew is "toleft-tobottom" and Japanese is usually "tobottom-toleft".

IPP Compatibility: This attribute is not an IPP 1.1 attribute; it is an attribute in the Production Printing Extension (PDF) of IPP 1.1. The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value.

Class PresentationDirection is a printing attribute class, an enumeration,
that is used in conjunction with the NumberUp attribute to
indicate the layout of multiple print-stream pages to impose upon a
single side of an instance of a selected medium.
This is useful to mirror the text layout conventions of different scripts.
For example, English is "toright-tobottom", Hebrew is "toleft-tobottom"
 and Japanese is usually "tobottom-toleft".

IPP Compatibility:  This attribute is not an IPP 1.1
attribute; it is an attribute in the Production Printing Extension
(PDF)
of IPP 1.1.  The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
raw docstring

javax.print.attribute.standard.PrinterInfo

Class PrinterInfo is a printing attribute class, a text attribute, that provides descriptive information about a printer. This could include things like: "This printer can be used for printing color transparencies for HR presentations", or "Out of courtesy for others, please print only small (1-5 page) jobs at this printer", or even
"This printer is going away on July 1, 1997, please find a new printer".

IPP Compatibility: The string value gives the IPP name value. The locale gives the IPP natural language. The category name returned by getName() gives the IPP attribute name.

Class PrinterInfo is a printing attribute class, a text attribute, that
provides descriptive information about a printer. This could include things
like: "This printer can be used for printing color transparencies for
HR presentations", or "Out of courtesy for others, please
print only small (1-5 page) jobs at this printer", or even \
"This printer is going away on July 1, 1997, please find a new
printer".

IPP Compatibility: The string value gives the IPP name value. The
locale gives the IPP natural language. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.PrinterIsAcceptingJobs

Class PrinterIsAcceptingJobs is a printing attribute class, an enumeration, that indicates whether the printer is currently able to accept jobs. This value is independent of the PrinterState and PrinterStateReasons attributes because its value does not affect the current job; rather it affects future jobs. If the value is NOT_ACCEPTING_JOBS, the printer will reject jobs even when the PrinterState is IDLE. If value is ACCEPTING_JOBS, the Printer will accept jobs even when the PrinterState is STOPPED.

IPP Compatibility: The IPP boolean value is "true" for ACCEPTING_JOBS and "false" for NOT_ACCEPTING_JOBS. The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value.

Class PrinterIsAcceptingJobs is a printing attribute class, an enumeration,
that indicates whether the printer is currently able to accept jobs. This
value is independent of the PrinterState and PrinterStateReasons attributes because its value does
not affect the current job; rather it affects future jobs. If the value is
NOT_ACCEPTING_JOBS, the printer will reject jobs even when the PrinterState is IDLE. If value is ACCEPTING_JOBS, the Printer
will accept jobs even when the PrinterState is STOPPED.

IPP Compatibility: The IPP boolean value is "true" for ACCEPTING_JOBS
and "false" for NOT_ACCEPTING_JOBS. The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
raw docstring

javax.print.attribute.standard.PrinterLocation

Class PrinterLocation is a printing attribute class, a text attribute, that identifies the location of the device. This could include things like: "in Room 123A, second floor of building XYZ".

IPP Compatibility: The string value gives the IPP name value. The locale gives the IPP natural language. The category name returned by getName() gives the IPP attribute name.

Class PrinterLocation is a printing attribute class, a text attribute, that
identifies the location of the device. This could include things like:
"in Room 123A, second floor of building XYZ".

IPP Compatibility: The string value gives the IPP name value. The
locale gives the IPP natural language. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.PrinterMakeAndModel

Class PrinterMakeAndModel is a printing attribute class, a text attribute, that the make and model of the printer.

IPP Compatibility: The string value gives the IPP name value. The locale gives the IPP natural language. The category name returned by getName() gives the IPP attribute name.

Class PrinterMakeAndModel is a printing attribute class, a text attribute,
that the make and model of the printer.

IPP Compatibility: The string value gives the IPP name value. The
locale gives the IPP natural language. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.PrinterMessageFromOperator

Class PrinterMessageFromOperator is a printing attribute class, a text attribute, that provides a message from an operator, system administrator, or "intelligent" process to indicate to the end user information about or status of the printer, such as why it is unavailable or when it is expected to be available.

A Print Service's attribute set includes zero instances or one instance of a PrinterMessageFromOperator attribute, not more than one instance. A new PrinterMessageFromOperator attribute replaces an existing PrinterMessageFromOperator attribute, if any. In other words, PrinterMessageFromOperator is not intended to be a history log. If it wishes, the client can detect changes to a Print Service's PrinterMessageFromOperator attribute and maintain the client's own history log of the PrinterMessageFromOperator attribute values.

IPP Compatibility: The string value gives the IPP name value. The locale gives the IPP natural language. The category name returned by getName() gives the IPP attribute name.

Class PrinterMessageFromOperator is a printing attribute class, a text
attribute, that provides a message from an operator, system administrator,
or "intelligent" process to indicate to the end user information about or
status of the printer, such as why it is unavailable or when it is
expected to be available.

A Print Service's attribute set includes zero instances or one instance of
a
PrinterMessageFromOperator attribute, not more than one instance. A new
PrinterMessageFromOperator attribute replaces an existing
PrinterMessageFromOperator attribute, if any. In other words,
PrinterMessageFromOperator is not intended to be a history log.
If it wishes, the client can detect changes to a Print Service's
PrinterMessageFromOperator
attribute and maintain the client's own history log of the
PrinterMessageFromOperator attribute values.

IPP Compatibility: The string value gives the IPP name value. The
locale gives the IPP natural language. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.PrinterMoreInfo

Class PrinterMoreInfo is a printing attribute class, a URI, that is used to obtain more information about this specific printer. For example, this could be an HTTP type URI referencing an HTML page accessible to a web browser. The information obtained from this URI is intended for end user consumption. Features outside the scope of the Print Service API can be accessed from this URI. The information is intended to be specific to this printer instance and site specific services (e.g. job pricing, services offered, end user assistance).

In contrast, the PrinterMoreInfoManufacturer attribute is used to find out more information about this general kind of printer rather than this specific printer.

IPP Compatibility: The string form returned by toString() gives the IPP uri value. The category name returned by getName() gives the IPP attribute name.

Class PrinterMoreInfo is a printing attribute class, a URI, that is used to
obtain more information about this specific printer. For example, this
could be an HTTP type URI referencing an HTML page accessible to a web
browser. The information obtained from this URI is intended for end user
consumption. Features outside the scope of the Print Service API can be
accessed from this URI.
The information is intended to be specific to this printer instance and
site specific services (e.g. job pricing, services offered, end user
assistance).

In contrast, the PrinterMoreInfoManufacturer attribute is used to find out more information
about this general kind of printer rather than this specific printer.

IPP Compatibility: The string form returned by
toString()  gives the IPP uri value.
The category name returned by getName()
gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.PrinterMoreInfoManufacturer

Class PrinterMoreInfoManufacturer is a printing attribute class, a URI, that is used to obtain more information about this type of device. The information obtained from this URI is intended for end user consumption. Features outside the scope of the Print Service API can be accessed from this URI (e.g., latest firmware, upgrades, service proxies, optional features available, details on color support). The information is intended to be germane to this kind of printer without regard to site specific modifications or services.

In contrast, the PrinterMoreInfo attribute is used to find out more information about this specific printer rather than this general kind of printer.

IPP Compatibility: The string form returned by toString() gives the IPP uri value. The category name returned by getName() gives the IPP attribute name.

Class PrinterMoreInfoManufacturer is a printing attribute class, a URI,
that is used to obtain more information about this type of device.
The information obtained from this URI is intended for end user
consumption. Features outside the scope of the Print Service API
can be accessed from this URI (e.g.,
latest firmware, upgrades, service proxies, optional features available,
details on color support). The information is intended to be germane to
this kind of printer without regard to site specific modifications or
services.

In contrast, the PrinterMoreInfo attribute is used
to find out more information about this specific printer rather than this
general kind of printer.


IPP Compatibility: The string form returned by
toString() gives the IPP uri value.
The category name returned by getName()
gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.PrinterName

Class PrinterName is a printing attribute class, a text attribute, that specifies the name of a printer. It is a name that is more end-user friendly than a URI. An administrator determines a printer's name and sets this attribute to that name. This name may be the last part of the printer's URI or it may be unrelated. In non-US-English locales, a name may contain characters that are not allowed in a URI.

IPP Compatibility: The string value gives the IPP name value. The locale gives the IPP natural language. The category name returned by getName() gives the IPP attribute name.

Class PrinterName is a printing attribute class, a text attribute, that
specifies the name of a printer. It is a name that is more end-user friendly
than a URI. An administrator determines a printer's name and sets this
attribute to that name. This name may be the last part of the printer's URI
or it may be unrelated. In non-US-English locales, a name may contain
characters that are not allowed in a URI.

IPP Compatibility: The string value gives the IPP name value. The
locale gives the IPP natural language. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.PrinterResolution

Class PrinterResolution is a printing attribute class that specifies an exact resolution supported by a printer or to be used for a print job. This attribute assumes that printers have a small set of device resolutions at which they can operate rather than a continuum.

PrinterResolution is used in multiple ways:

When a client searches looking for a printer that supports the client's desired resolution exactly (no more, no less), the client specifies an instance of class PrinterResolution indicating the exact resolution the client wants. Only printers supporting that exact resolution will match the search.

When a client needs to print a job using the client's desired resolution exactly (no more, no less), the client specifies an instance of class PrinterResolution as an attribute of the Print Job. This will fail if the Print Job doesn't support that exact resolution, and Fidelity is set to true.

If a client wants to locate a printer supporting a resolution greater than some required minimum, then it may be necessary to exclude this attribute from a lookup request and to directly query the set of supported resolutions, and specify the one that most closely meets the client's requirements. In some cases this may be more simply achieved by specifying a PrintQuality attribute which often controls resolution.

IPP Compatibility: The information needed to construct an IPP "printer-resolution" attribute can be obtained by calling methods on the PrinterResolution object. The category name returned by getName() gives the IPP attribute name.

Class PrinterResolution is a printing attribute class that specifies an
exact resolution supported by a printer or to be used for a print job.
This attribute assumes that printers have a small set of device resolutions
at which they can operate rather than a continuum.

PrinterResolution is used in multiple ways:


When a client searches looking for a printer that supports the client's
desired resolution exactly (no more, no less), the client specifies
an instance of class PrinterResolution indicating the exact resolution the
client wants. Only printers supporting that exact resolution will match the
search.


When a client needs to print a job using the client's desired resolution
exactly (no more, no less), the client specifies an instance of class
PrinterResolution as an attribute of the Print Job. This will fail if the
Print Job doesn't support that exact resolution, and Fidelity is set to
true.

If a client wants to locate a printer supporting a resolution
greater than some required minimum, then it may be necessary to exclude
this attribute from a lookup request and to directly query the set of
supported resolutions, and specify the one that most closely meets
the client's requirements.
In some cases this may be more simply achieved by specifying a
PrintQuality attribute which often controls resolution.


IPP Compatibility: The information needed to construct an IPP
"printer-resolution" attribute can be obtained by calling
methods on the PrinterResolution object. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.PrinterState

Class PrinterState is a printing attribute class, an enumeration, that identifies the current state of a printer. Class PrinterState defines standard printer state values. A Print Service implementation only needs to report those printer states which are appropriate for the particular implementation; it does not have to report every defined printer state. The PrinterStateReasons attribute augments the PrinterState attribute to give more detailed information about the printer in given printer state.

IPP Compatibility: The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value.

Class PrinterState is a printing attribute class, an enumeration, that
identifies the current state of a printer. Class PrinterState defines
standard printer state values. A Print Service implementation only needs
to report those printer states which are appropriate for the particular
implementation; it does not have to report every defined printer state. The
PrinterStateReasons attribute augments the
PrinterState attribute to give more detailed information about the printer
in  given printer state.

IPP Compatibility: The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
raw docstring

javax.print.attribute.standard.PrinterStateReason

Class PrinterStateReason is a printing attribute class, an enumeration, that provides additional information about the printer's current state, i.e., information that augments the value of the printer's PrinterState attribute. Class PrinterStateReason defines standard printer state reason values. A Print Service implementation only needs to report those printer state reasons which are appropriate for the particular implementation; it does not have to report every defined printer state reason.

Instances of PrinterStateReason do not appear in a Print Service's attribute set directly. Rather, a PrinterStateReasons attribute appears in the Print Service's attribute set. The PrinterStateReasons attribute contains zero, one, or more than one PrinterStateReason objects which pertain to the Print Service's status, and each PrinterStateReason object is associated with a Severity level of REPORT (least severe), WARNING, or ERROR (most severe). The printer adds a PrinterStateReason object to the Print Service's PrinterStateReasons attribute when the corresponding condition becomes true of the printer, and the printer removes the PrinterStateReason object again when the corresponding condition becomes false, regardless of whether the Print Service's overall PrinterState also changed.

IPP Compatibility: The string values returned by each individual PrinterStateReason and associated Severity object's toString() methods, concatenated together with a hyphen ("-") in between, gives the IPP keyword value for a PrinterStateReasons. The category name returned by getName() gives the IPP attribute name.

Class PrinterStateReason is a printing attribute class, an enumeration,
that provides additional information about the printer's current state,
i.e., information that augments the value of the printer's
PrinterState attribute.
Class PrinterStateReason defines standard printer
state reason values. A Print Service implementation only needs to report
those printer state reasons which are appropriate for the particular
implementation; it does not have to report every defined printer state
reason.

Instances of PrinterStateReason do not appear in a Print Service's
attribute set directly.
Rather, a PrinterStateReasons
attribute appears in the Print Service's attribute set. The PrinterStateReasons attribute contains zero, one, or
more than one PrinterStateReason objects which pertain to the
Print Service's status, and each PrinterStateReason object is
associated with a Severity level of REPORT (least severe),
WARNING, or ERROR (most severe). The printer adds a PrinterStateReason
object to the Print Service's
PrinterStateReasons attribute when the
corresponding condition becomes true of the printer, and the printer
removes the PrinterStateReason object again when the corresponding
condition becomes false, regardless of whether the Print Service's overall
PrinterState also changed.

IPP Compatibility:
The string values returned by each individual PrinterStateReason and
associated Severity object's toString()
methods, concatenated together with a hyphen ("-") in
between, gives the IPP keyword value for a PrinterStateReasons.
The category name returned by getName() gives the IPP
attribute name.
raw docstring

javax.print.attribute.standard.PrinterStateReasons

Class PrinterStateReasons is a printing attribute class, a set of enumeration values, that provides additional information about the printer's current state, i.e., information that augments the value of the printer's PrinterState attribute.

Instances of PrinterStateReason do not appear in a Print Service's attribute set directly. Rather, a PrinterStateReasons attribute appears in the Print Service's attribute set. The PrinterStateReasons attribute contains zero, one, or more than one PrinterStateReason objects which pertain to the Print Service's status, and each PrinterStateReason object is associated with a Severity level of REPORT (least severe), WARNING, or ERROR (most severe). The printer adds a PrinterStateReason object to the Print Service's PrinterStateReasons attribute when the corresponding condition becomes true of the printer, and the printer removes the PrinterStateReason object again when the corresponding condition becomes false, regardless of whether the Print Service's overall PrinterState also changed.

Class PrinterStateReasons inherits its implementation from class java.util.HashMap. Each entry in the map consists of a PrinterStateReason object (key) mapping to a Severity object (value):

Unlike most printing attributes which are immutable once constructed, class PrinterStateReasons is designed to be mutable; you can add PrinterStateReason objects to an existing PrinterStateReasons object and remove them again. However, like class java.util.HashMap, class PrinterStateReasons is not multiple thread safe. If a PrinterStateReasons object will be used by multiple threads, be sure to synchronize its operations (e.g., using a synchronized map view obtained from class java.util.Collections).

IPP Compatibility: The string values returned by each individual PrinterStateReason object's and the associated Severity object's toString() methods, concatenated together with a hyphen ("-") in between, gives the IPP keyword value. The category name returned by getName() gives the IPP attribute name.

Class PrinterStateReasons is a printing attribute class, a set of
enumeration values, that provides additional information about the
printer's current state, i.e., information that augments the value of the
printer's PrinterState attribute.

Instances of PrinterStateReason do not appear in
 a Print Service's attribute set directly. Rather, a PrinterStateReasons
attribute appears in the Print Service's attribute set. The
PrinterStateReasons attribute contains zero, one, or more than one PrinterStateReason objects which pertain to the Print
Service's status, and each PrinterStateReason
object is associated with a Severity level of REPORT
 (least severe), WARNING, or ERROR (most severe). The printer adds a PrinterStateReason object to the Print Service's
PrinterStateReasons attribute when the corresponding condition becomes true
of the printer, and the printer removes the PrinterStateReason object again when the corresponding condition becomes
false, regardless of whether the Print Service's overall
PrinterState also changed.

Class PrinterStateReasons inherits its implementation from class java.util.HashMap. Each entry in the map consists of a
PrinterStateReason object (key) mapping to a
Severity object (value):

Unlike most printing attributes which are immutable once constructed, class
PrinterStateReasons is designed to be mutable; you can add PrinterStateReason objects to an existing
PrinterStateReasons object and remove them again. However, like class
 java.util.HashMap, class PrinterStateReasons is
not multiple thread safe. If a PrinterStateReasons object will be used by
multiple threads, be sure to synchronize its operations (e.g., using a
synchronized map view obtained from class java.util.Collections).

IPP Compatibility: The string values returned by each individual
PrinterStateReason object's and the associated
Severity object's toString() methods,
concatenated
together with a hyphen ("-") in between, gives the IPP keyword
value. The category name returned by getName() gives the IPP
attribute name.
raw docstring

javax.print.attribute.standard.PrinterURI

Class PrinterURI is a printing attribute class, a URI, that specifies the globally unique name of a printer. If it has such a name, an administrator determines a printer's URI and sets this attribute to that name.

IPP Compatibility: This implements the IPP printer-uri attribute. The string form returned by toString() gives the IPP printer-uri value. The category name returned by getName() gives the IPP attribute name.

Class PrinterURI is a printing attribute class, a URI, that specifies the
globally unique name of a printer.  If it has such a name, an administrator
determines a printer's URI and sets this attribute to that name.

IPP Compatibility:  This implements the
IPP printer-uri attribute. The string form returned by
toString()  gives the IPP printer-uri value.
The category name returned by getName()
gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.PrintQuality

Class PrintQuality is a printing attribute class, an enumeration, that specifies the print quality that the printer uses for the job.

IPP Compatibility: The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value.

Class PrintQuality is a printing attribute class, an enumeration,
that specifies the print quality that the printer uses for the job.

IPP Compatibility: The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
raw docstring

javax.print.attribute.standard.QueuedJobCount

Class QueuedJobCount is an integer valued printing attribute that indicates the number of jobs in the printer whose JobState is either PENDING, PENDING_HELD, PROCESSING, or PROCESSING_STOPPED.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by getName() gives the IPP attribute name.

Class QueuedJobCount is an integer valued printing attribute that indicates
the number of jobs in the printer whose JobState is either
PENDING, PENDING_HELD, PROCESSING, or PROCESSING_STOPPED.

IPP Compatibility: The integer value gives the IPP integer value.
The category name returned by getName() gives the IPP
attribute name.
raw docstring

javax.print.attribute.standard.ReferenceUriSchemesSupported

Class ReferenceUriSchemesSupported is a printing attribute class an enumeration, that indicates a "URI scheme," such as "http:" or "ftp:", that a printer can use to retrieve print data stored at a URI location. If a printer supports doc flavors with a print data representation class of "java.net.URL", the printer uses instances of class ReferenceUriSchemesSupported to advertise the URI schemes it can accept. The acceptable URI schemes are included as service attributes in the lookup service; this lets clients search the for printers that can get print data using a certain URI scheme. The acceptable URI schemes can also be queried using the capability methods in interface PrintService. However, ReferenceUriSchemesSupported attributes are used solely for determining acceptable URI schemes, they are never included in a doc's, print request's, print job's, or print service's attribute set.

The Internet Assigned Numbers Authority maintains the official list of URI schemes.

Class ReferenceUriSchemesSupported defines enumeration values for widely used URI schemes. A printer that supports additional URI schemes can define them in a subclass of class ReferenceUriSchemesSupported.

IPP Compatibility: The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value.

Class ReferenceUriSchemesSupported is a printing attribute class
an enumeration, that indicates a "URI scheme," such as "http:" or "ftp:",
that a printer can use to retrieve print data stored at a URI location.
If a printer supports doc flavors with a print data representation class of
"java.net.URL", the printer uses instances of class
ReferenceUriSchemesSupported to advertise the URI schemes it can accept.
The acceptable URI schemes are included as service attributes in the
lookup service; this lets clients search the
for printers that can get print data using a certain URI scheme. The
acceptable URI schemes can also be queried using the capability methods in
interface PrintService. However,
ReferenceUriSchemesSupported attributes are used solely for determining
acceptable URI schemes, they are never included in a doc's,
print request's, print job's, or print service's attribute set.

The Internet Assigned Numbers Authority maintains the
official
list of URI schemes.

Class ReferenceUriSchemesSupported defines enumeration values for widely
used URI schemes. A printer that supports additional URI schemes
can define them in a subclass of class ReferenceUriSchemesSupported.

IPP Compatibility:  The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
raw docstring

javax.print.attribute.standard.RequestingUserName

Class RequestingUserName is a printing attribute class, a text attribute, that specifies the name of the end user that submitted the print job. A requesting user name is an arbitrary string defined by the client. The printer does not put the client-specified RequestingUserName attribute into the Print Job's attribute set; rather, the printer puts in a JobOriginatingUserName attribute. This means that services which support specifying a username with this attribute should also report a JobOriginatingUserName in the job's attribute set. Note that many print services may have a way to independently authenticate the user name, and so may state support for a requesting user name, but in practice will then report the user name authenticated by the service rather than that specified via this attribute.

IPP Compatibility: The string value gives the IPP name value. The locale gives the IPP natural language. The category name returned by getName() gives the IPP attribute name.

Class RequestingUserName is a printing attribute class, a text attribute,
that specifies the name of the end user that submitted the print job. A
requesting user name is an arbitrary string defined by the client. The
printer does not put the client-specified RequestingUserName attribute into
the Print Job's attribute set; rather, the printer puts in a JobOriginatingUserName attribute.
This means that services which support specifying a username with this
attribute should also report a JobOriginatingUserName in the job's
attribute set. Note that many print services may have a way to independently
authenticate the user name, and so may state support for a
requesting user name, but in practice will then report the user name
authenticated by the service rather than that specified via this
attribute.

IPP Compatibility: The string value gives the IPP name value. The
locale gives the IPP natural language. The category name returned by
getName() gives the IPP attribute name.
raw docstring

javax.print.attribute.standard.Severity

Class Severity is a printing attribute class, an enumeration, that denotes the severity of a PrinterStateReason attribute.

Instances of Severity do not appear in a Print Service's attribute set directly. Rather, a PrinterStateReasons attribute appears in the Print Service's attribute set. The PrinterStateReasons attribute contains zero, one, or more than one PrinterStateReason objects which pertain to the Print Service's status, and each PrinterStateReason object is associated with a Severity level of REPORT (least severe), WARNING, or ERROR (most severe). The printer adds a PrinterStateReason object to the Print Service's PrinterStateReasons attribute when the corresponding condition becomes true of the printer, and the printer removes the PrinterStateReason object again when the corresponding condition becomes false, regardless of whether the Print Service's overall PrinterState also changed.

IPP Compatibility: Severity.toString() returns either "error", "warning", or "report". The string values returned by each individual PrinterStateReason and associated Severity object's toString() methods, concatenated together with a hyphen ("-") in between, gives the IPP keyword value for a PrinterStateReasons. The category name returned by getName() gives the IPP attribute name.

Class Severity is a printing attribute class, an enumeration, that denotes
the severity of a PrinterStateReason attribute.

Instances of Severity do not appear in a Print Service's attribute set
directly. Rather, a PrinterStateReasons
attribute appears in the Print Service's attribute set.
 The PrinterStateReasons attribute contains zero, one, or more than one PrinterStateReason objects which pertain to the Print
Service's status, and each PrinterStateReason
object is associated with a Severity level of REPORT (least severe),
WARNING, or ERROR (most severe).
The printer adds a PrinterStateReason object to the Print Service's
PrinterStateReasons attribute when the
corresponding condition becomes true
of the printer, and the printer removes the PrinterStateReason object again when the corresponding condition becomes
false, regardless of whether the Print Service's overall
PrinterState also changed.

IPP Compatibility:
Severity.toString() returns either "error", "warning", or
"report".  The string values returned by
each individual PrinterStateReason and
associated Severity object's toString()
methods, concatenated together with a hyphen ("-") in
between, gives the IPP keyword value for a PrinterStateReasons.
The category name returned by getName() gives the IPP
attribute name.
raw docstring

javax.print.attribute.standard.SheetCollate

Class SheetCollate is a printing attribute class, an enumeration, that specifies whether or not the media sheets of each copy of each printed document in a job are to be in sequence, when multiple copies of the document are specified by the Copies attribute. When SheetCollate is COLLATED, each copy of each document is printed with the print-stream sheets in sequence. When SheetCollate is UNCOLLATED, each print-stream sheet is printed a number of times equal to the value of the Copies attribute in succession. For example, suppose a document produces two media sheets as output, Copies is 6, and SheetCollate is UNCOLLATED; in this case six copies of the first media sheet are printed followed by six copies of the second media sheet.

Whether the effect of sheet collation is achieved by placing copies of a document in multiple output bins or in the same output bin with implementation defined document separation is implementation dependent. Also whether it is achieved by making multiple passes over the job or by using an output sorter is implementation dependent.

If a printer does not support the SheetCollate attribute (meaning the client cannot specify any particular sheet collation), the printer must behave as though SheetCollate were always set to COLLATED.

The SheetCollate attribute interacts with the MultipleDocumentHandling attribute. The MultipleDocumentHandling attribute describes the collation of entire documents, and the SheetCollate attribute describes the semantics of collating individual pages within a document.

The effect of a SheetCollate attribute on a multidoc print job (a job with multiple documents) depends on whether all the docs have the same sheet collation specified or whether different docs have different sheet collations specified, and on the (perhaps defaulted) value of the MultipleDocumentHandling attribute.

If all the docs have the same sheet collation specified, then the following combinations of SheetCollate and MultipleDocumentHandling are permitted, and the printer reports an error when the job is submitted if any other combination is specified:

SheetCollate = COLLATED, MultipleDocumentHandling = SINGLE_DOCUMENT -- All the input docs will be combined into one output document. Multiple copies of the output document will be produced with pages in collated order, i.e. pages 1, 2, 3, . . ., 1, 2, 3, . . .

SheetCollate = COLLATED, MultipleDocumentHandling = SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be combined into one output document, and the first impression of each input doc will always start on a new media sheet. Multiple copies of the output document will be produced with pages in collated order, i.e. pages 1, 2, 3, . . ., 1, 2, 3, . . .

SheetCollate = COLLATED, MultipleDocumentHandling = SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- Each input doc will remain a separate output document. Multiple copies of each output document (call them A, B, . . .) will be produced with each document's pages in collated order, but the documents themselves in uncollated order, i.e. pages A1, A2, A3, . . ., A1, A2, A3, . . ., B1, B2, B3, . . ., B1, B2, B3, . . .

SheetCollate = COLLATED, MultipleDocumentHandling = SEPARATE_DOCUMENTS_COLLATED_COPIES -- Each input doc will remain a separate output document. Multiple copies of each output document (call them A, B, . . .) will be produced with each document's pages in collated order, with the documents themselves also in collated order, i.e. pages A1, A2, A3, . . ., B1, B2, B3, . . ., A1, A2, A3, . . ., B1, B2, B3, . . .

SheetCollate = UNCOLLATED, MultipleDocumentHandling = SINGLE_DOCUMENT -- All the input docs will be combined into one output document. Multiple copies of the output document will be produced with pages in uncollated order, i.e. pages 1, 1, . . ., 2, 2, . . ., 3, 3, . . .

SheetCollate = UNCOLLATED, MultipleDocumentHandling = SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be combined into one output document, and the first impression of each input doc will always start on a new media sheet. Multiple copies of the output document will be produced with pages in uncollated order, i.e. pages 1, 1, . . ., 2, 2, . . ., 3, 3, . . .

SheetCollate = UNCOLLATED, MultipleDocumentHandling = SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- Each input doc will remain a separate output document. Multiple copies of each output document (call them A, B, . . .) will be produced with each document's pages in uncollated order, with the documents themselves also in uncollated order, i.e. pages A1, A1, . . ., A2, A2, . . ., A3, A3, . . ., B1, B1, . . ., B2, B2, . . ., B3, B3, . . .

If different docs have different sheet collations specified, then only one value of MultipleDocumentHandling is permitted, and the printer reports an error when the job is submitted if any other value is specified:

MultipleDocumentHandling = SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- Each input doc will remain a separate output document. Multiple copies of each output document (call them A, B, . . .) will be produced with each document's pages in collated or uncollated order as the corresponding input doc's SheetCollate attribute specifies, and with the documents themselves in uncollated order. If document A had SheetCollate = UNCOLLATED and document B had SheetCollate = COLLATED, the following pages would be produced: A1, A1, . . ., A2, A2, . . ., A3, A3, . . ., B1, B2, B3, . . ., B1, B2, B3, . . .

IPP Compatibility: SheetCollate is not an IPP attribute at present.

Class SheetCollate is a printing attribute class, an enumeration, that
specifies whether or not the media sheets of each copy of each printed
document in a job are to be in sequence, when multiple copies of the document
are specified by the Copies attribute. When SheetCollate is
COLLATED, each copy of each document is printed with the print-stream sheets
in sequence. When SheetCollate is UNCOLLATED, each print-stream sheet is
printed a number of times equal to the value of the Copies
attribute in succession. For example, suppose a document produces two media
sheets as output, Copies is 6, and SheetCollate is UNCOLLATED;
in this case six copies of the first media sheet are printed followed by
six copies of the second media sheet.

Whether the effect of sheet collation is achieved by placing copies of a
document in multiple output bins or in the same output bin with
implementation defined document separation is implementation dependent.
Also whether it is achieved by making multiple passes over the job or by
using an output sorter is implementation dependent.

If a printer does not support the SheetCollate attribute (meaning the client
cannot specify any particular sheet collation), the printer must behave as
though SheetCollate were always set to COLLATED.

The SheetCollate attribute interacts with the MultipleDocumentHandling attribute. The MultipleDocumentHandling attribute describes the collation of entire
documents, and the SheetCollate attribute describes the semantics of
collating individual pages within a document.

The effect of a SheetCollate attribute on a multidoc print job (a job with
multiple documents) depends on whether all the docs have the same sheet
collation specified or whether different docs have different sheet
collations specified, and on the (perhaps defaulted) value of the MultipleDocumentHandling attribute.


If all the docs have the same sheet collation specified, then the following
combinations of SheetCollate and MultipleDocumentHandling are permitted, and the printer reports an error
when the job is submitted if any other combination is specified:


SheetCollate = COLLATED, MultipleDocumentHandling = SINGLE_DOCUMENT -- All the input docs will be
combined into one output document. Multiple copies of the output document
will be produced with pages in collated order, i.e. pages 1, 2, 3, . . .,
1, 2, 3, . . .


SheetCollate = COLLATED, MultipleDocumentHandling = SINGLE_DOCUMENT_NEW_SHEET -- All the input docs
will be combined into one output document, and the first impression of each
input doc will always start on a new media sheet. Multiple copies of the
output document will be produced with pages in collated order, i.e. pages
1, 2, 3, . . ., 1, 2, 3, . . .


SheetCollate = COLLATED, MultipleDocumentHandling = SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- Each
input doc will remain a separate output document. Multiple copies of each
output document (call them A, B, . . .) will be produced with each document's
pages in collated order, but the documents themselves in uncollated order,
i.e. pages A1, A2, A3, . . ., A1, A2, A3, . . ., B1, B2, B3, . . ., B1, B2,
B3, . . .


SheetCollate = COLLATED, MultipleDocumentHandling = SEPARATE_DOCUMENTS_COLLATED_COPIES -- Each input
doc will remain a separate output document. Multiple copies of each output
document (call them A, B, . . .) will be produced with each document's pages
in collated order, with the documents themselves also in collated order, i.e.
pages A1, A2, A3, . . ., B1, B2, B3, . . ., A1, A2, A3, . . ., B1, B2, B3,
. . .


SheetCollate = UNCOLLATED, MultipleDocumentHandling = SINGLE_DOCUMENT -- All the input docs will be
combined into one output document. Multiple copies of the output document
will be produced with pages in uncollated order, i.e. pages 1, 1, . . .,
2, 2, . . ., 3, 3, . . .


SheetCollate = UNCOLLATED, MultipleDocumentHandling = SINGLE_DOCUMENT_NEW_SHEET -- All the input docs
will be combined into one output document, and the first impression of each
input doc will always start on a new media sheet. Multiple copies of the
output document will be produced with pages in uncollated order, i.e. pages
1, 1, . . ., 2, 2, . . ., 3, 3, . . .


SheetCollate = UNCOLLATED, MultipleDocumentHandling = SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- Each
input doc will remain a separate output document. Multiple copies of each
output document (call them A, B, . . .) will be produced with each document's
pages in uncollated order, with the documents themselves also in uncollated
order, i.e. pages A1, A1, . . ., A2, A2, . . ., A3, A3, . . ., B1, B1, . . .,
B2, B2, . . ., B3, B3, . . .



If different docs have different sheet collations specified, then only one
value of MultipleDocumentHandling is
permitted, and the printer reports an error when the job is submitted if any
other value is specified:


MultipleDocumentHandling =
SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- Each input doc will remain a separate
output document. Multiple copies of each output document (call them A, B,
. . .) will be produced with each document's pages in collated or uncollated
order as the corresponding input doc's SheetCollate attribute specifies, and
with the documents themselves in uncollated order. If document A had
SheetCollate = UNCOLLATED and document B had SheetCollate = COLLATED, the
following pages would be produced: A1, A1, . . ., A2, A2, . . ., A3, A3,
. . ., B1, B2, B3, . . ., B1, B2, B3, . . .



IPP Compatibility: SheetCollate is not an IPP attribute at present.
raw docstring

javax.print.attribute.standard.Sides

Class Sides is a printing attribute class, an enumeration, that specifies how print-stream pages are to be imposed upon the sides of an instance of a selected medium, i.e., an impression.

The effect of a Sides attribute on a multidoc print job (a job with multiple documents) depends on whether all the docs have the same sides values specified or whether different docs have different sides values specified, and on the (perhaps defaulted) value of the MultipleDocumentHandling attribute.

If all the docs have the same sides value n specified, then any value of MultipleDocumentHandling makes sense, and the printer's processing depends on the MultipleDocumentHandling value:

SINGLE_DOCUMENT -- All the input docs will be combined together into one output document. Each media sheet will consist of n impressions from the output document.

SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be combined together into one output document. Each media sheet will consist of n impressions from the output document. However, the first impression of each input doc will always start on a new media sheet; this means the last media sheet of an input doc may have only one impression on it.

SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- The input docs will remain separate. Each media sheet will consist of n impressions from the input doc. Since the input docs are separate, the first impression of each input doc will always start on a new media sheet; this means the last media sheet of an input doc may have only one impression on it.

SEPARATE_DOCUMENTS_COLLATED_COPIES -- The input docs will remain separate. Each media sheet will consist of n impressions from the input doc. Since the input docs are separate, the first impression of each input doc will always start on a new media sheet; this means the last media sheet of an input doc may have only one impression on it.

SINGLE_DOCUMENT -- All the input docs will be combined together into one output document. Each media sheet will consist of ni impressions from the output document, where i is the number of the input doc corresponding to that point in the output document. When the next input doc has a different sides value from the previous input doc, the first print-stream page of the next input doc goes at the start of the next media sheet, possibly leaving only one impression on the previous media sheet.

SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be combined together into one output document. Each media sheet will consist of n impressions from the output document. However, the first impression of each input doc will always start on a new media sheet; this means the last impression of an input doc may have only one impression on it.

SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- The input docs will remain separate. For input doc i, each media sheet will consist of ni impressions from the input doc. Since the input docs are separate, the first impression of each input doc will always start on a new media sheet; this means the last media sheet of an input doc may have only one impression on it.

SEPARATE_DOCUMENTS_COLLATED_COPIES -- The input docs will remain separate. For input doc i, each media sheet will consist of ni impressions from the input doc. Since the input docs are separate, the first impression of each input doc will always start on a new media sheet; this means the last media sheet of an input doc may have only one impression on it.

IPP Compatibility: The category name returned by getName() is the IPP attribute name. The enumeration's integer value is the IPP enum value. The toString() method returns the IPP string representation of the attribute value.

Class Sides is a printing attribute class, an enumeration, that specifies
how print-stream pages are to be imposed upon the sides of an instance of a
selected medium, i.e., an impression.

The effect of a Sides attribute on a multidoc print job (a job with multiple
documents) depends on whether all the docs have the same sides values
specified or whether different docs have different sides values specified,
and on the (perhaps defaulted) value of the MultipleDocumentHandling attribute.


If all the docs have the same sides value n specified, then any value
of MultipleDocumentHandling makes sense,
and the printer's processing depends on the MultipleDocumentHandling value:


SINGLE_DOCUMENT -- All the input docs will be combined together into one
output document. Each media sheet will consist of n impressions from
the output document.


SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be combined together
into one output document. Each media sheet will consist of n
impressions from the output document. However, the first impression of each
input doc will always start on a new media sheet; this means the last media
sheet of an input doc may have only one impression on it.


SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- The input docs will remain separate.
Each media sheet will consist of n impressions from the input doc.
Since the input docs are separate, the first impression of each input doc
will always start on a new media sheet; this means the last media sheet of
an input doc may have only one impression on it.


SEPARATE_DOCUMENTS_COLLATED_COPIES -- The input docs will remain separate.
Each media sheet will consist of n impressions from the input doc.
Since the input docs are separate, the first impression of each input doc
will always start on a new media sheet; this means the last media sheet of
an input doc may have only one impression on it.




SINGLE_DOCUMENT -- All the input docs will be combined together into one
output document. Each media sheet will consist of ni
impressions from the output document, where i is the number of the
input doc corresponding to that point in the output document. When the next
input doc has a different sides value from the previous input doc, the first
print-stream page of the next input doc goes at the start of the next media
sheet, possibly leaving only one impression on the previous media sheet.


SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be combined together
into one output document. Each media sheet will consist of n
impressions from the output document. However, the first impression of each
input doc will always start on a new media sheet; this means the last
impression of an input doc may have only one impression on it.


SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- The input docs will remain separate.
For input doc i, each media sheet will consist of ni
impressions from the input doc. Since the input docs are separate, the first
impression of each input doc will always start on a new media sheet; this
means the last media sheet of an input doc may have only one impression on
it.


SEPARATE_DOCUMENTS_COLLATED_COPIES -- The input docs will remain separate.
For input doc i, each media sheet will consist of ni
impressions from the input doc. Since the input docs are separate, the first
impression of each input doc will always start on a new media sheet; this
means the last media sheet of an input doc may have only one impression on
it.



IPP Compatibility: The category name returned by
getName() is the IPP attribute name.  The enumeration's
integer value is the IPP enum value.  The toString() method
returns the IPP string representation of the attribute value.
raw docstring

javax.print.attribute.SupportedValuesAttribute

Interface SupportedValuesAttribute is a tagging interface which a printing attribute class implements to indicate the attribute describes the supported values for another attribute. For example, if a Print Service instance supports the Copies attribute, the Print Service instance will have a CopiesSupported attribute, which is a SupportedValuesAttribute giving the legal values a client may specify for the Copies attribute.

Interface SupportedValuesAttribute is a tagging interface which a printing
attribute class implements to indicate the attribute describes the supported
values for another attribute. For example, if a Print Service instance
supports the Copies
attribute, the Print Service instance will have a CopiesSupported attribute,
which is a SupportedValuesAttribute giving the legal values a client may
specify for the Copies
attribute.
raw docstring

No vars found in this namespace.

javax.print.attribute.TextSyntax

Class TextSyntax is an abstract base class providing the common implementation of all attributes whose value is a string. The text attribute includes a locale to indicate the natural language. Thus, a text attribute always represents a localized string. Once constructed, a text attribute's value is immutable.

Class TextSyntax is an abstract base class providing the common
implementation of all attributes whose value is a string. The text attribute
includes a locale to indicate the natural language. Thus, a text attribute
always represents a localized string. Once constructed, a text attribute's
value is immutable.
raw docstring

javax.print.attribute.UnmodifiableSetException

Thrown to indicate that the requested operation cannot be performed because the set is unmodifiable.

Thrown to indicate that the requested operation cannot be performed
because the set is unmodifiable.
raw docstring

javax.print.attribute.URISyntax

Class URISyntax is an abstract base class providing the common implementation of all attributes whose value is a Uniform Resource Identifier (URI). Once constructed, a URI attribute's value is immutable.

Class URISyntax is an abstract base class providing the common
implementation of all attributes whose value is a Uniform Resource
Identifier (URI). Once constructed, a URI attribute's value is immutable.
raw docstring

javax.print.AttributeException

Interface AttributeException is a mixin interface which a subclass of PrintException can implement to report an error condition involving one or more printing attributes that a particular Print Service instance does not support. Either the attribute is not supported at all, or the attribute is supported but the particular specified value is not supported. The Print Service API does not define any print exception classes that implement interface AttributeException, that being left to the Print Service implementor's discretion.

Interface AttributeException is a mixin interface which a subclass of
PrintException can implement to report an error condition
involving one or more printing attributes that a particular Print
Service instance does not support. Either the attribute is not supported at
all, or the attribute is supported but the particular specified value is not
supported. The Print Service API does not define any print exception
classes that implement interface AttributeException, that being left to the
Print Service implementor's discretion.
raw docstring

javax.print.CancelablePrintJob

This interface is used by a printing application to cancel a print job. This interface extends DocPrintJob. A DocPrintJob implementation returned from a print service implements this interface if the print job can be cancelled. Before trying to cancel a print job, the client needs to test if the DocPrintJob object returned from the print service actually implements this interface. Clients should never assume that a DocPrintJob implements this interface. A print service might support cancellation only for certain types of print data and representation class names. This means that only some of the DocPrintJob objects returned from a service will implement this interface.

Service implementors are encouraged to implement this optional interface and to deliver a javax.print.event.PrintJobEvent.JOB_CANCELLED event to any listeners if a job is successfully cancelled with an implementation of this interface. Services should also note that an implementation of this method may be made from a separate client thread than that which made the print request. Thus the implementation of this interface must be made thread safe.

This interface is used by a printing application to cancel a
print job.  This interface extends DocPrintJob.  A
DocPrintJob implementation returned from a print
service implements this interface if the print job can be
cancelled.  Before trying to cancel
a print job, the client needs to test if the
DocPrintJob object returned from the print service
actually implements this interface.  Clients should never assume
that a DocPrintJob implements this interface.  A
print service might support cancellation only for certain types
of print data and representation class names.  This means that
only some of the DocPrintJob objects returned from
a service will implement this interface.

Service implementors are encouraged to implement this optional interface
and to deliver a javax.print.event.PrintJobEvent.JOB_CANCELLED event
to any listeners if a job is successfully cancelled with an
implementation of this interface. Services should also note that an
implementation of this method may be made from a separate client thread
than that which made the print request.  Thus the implementation of
this interface must be made thread safe.
raw docstring

javax.print.core

No vars found in this namespace.

javax.print.Doc

Interface Doc specifies the interface for an object that supplies one piece of print data for a Print Job. "Doc" is a short, easy-to-pronounce term that means "a piece of print data." The client passes to the Print Job an object that implements interface Doc, and the Print Job calls methods on that object to obtain the print data. The Doc interface lets a Print Job:

Determine the format, or "doc flavor" (class DocFlavor), in which the print data is available. A doc flavor designates the print data format (a MIME type) and the representation class of the object from which the print data comes.

Obtain the print data representation object, which is an instance of the doc flavor's representation class. The Print Job can then obtain the actual print data from the representation object.

Obtain the printing attributes that specify additional characteristics of the doc or that specify processing instructions to be applied to the doc. Printing attributes are defined in package javax.print.attribute. The doc returns its printing attributes stored in an javax.print.attribute.DocAttributeSet.

Each method in an implementation of interface Doc is permitted always to return the same object each time the method is called. This has implications for a Print Job or other caller of a doc object whose print data representation object "consumes" the print data as the caller obtains the print data, such as a print data representation object which is a stream. Once the Print Job has called getPrintData() and obtained the stream, any further calls to getPrintData() will return the same stream object upon which reading may already be in progress, not a new stream object that will re-read the print data from the beginning. Specifying a doc object to behave this way simplifies the implementation of doc objects, and is justified on the grounds that a particular doc is intended to convey print data only to one Print Job, not to several different Print Jobs. (To convey the same print data to several different Print Jobs, you have to create several different doc objects on top of the same print data source.)

Interface Doc affords considerable implementation flexibility. The print data might already be in existence when the doc object is constructed. In this case the objects returned by the doc's methods can be supplied to the doc's constructor, be stored in the doc ahead of time, and simply be returned when called for. Alternatively, the print data might not exist yet when the doc object is constructed. In this case the doc object might provide a "lazy" implementation that generates the print data representation object (and/or the print data) only when the Print Job calls for it (when the Print Job calls the getPrintData() method).

There is no restriction on the number of client threads that may be simultaneously accessing the same doc. Therefore, all implementations of interface Doc must be designed to be multiple thread safe.

However there can only be one consumer of the print data obtained from a Doc.

If print data is obtained from the client as a stream, by calling Doc's getReaderForText() or getStreamForBytes() methods, or because the print data source is already an InputStream or Reader, then the print service should always close these streams for the client on all job completion conditions. With the following caveat. If the print data is itself a stream, the service will always close it. If the print data is otherwise something that can be requested as a stream, the service will only close the stream if it has obtained the stream before terminating. That is, just because a print service might request data as a stream does not mean that it will, with the implications that Doc implementors which rely on the service to close them should create such streams only in response to a request from the service.

Interface Doc specifies the interface for an object that supplies one piece
of print data for a Print Job. "Doc" is a short, easy-to-pronounce term
that means "a piece of print data." The client passes to the Print Job an
object that implements interface Doc, and the Print Job calls methods on
that object to obtain the print data. The Doc interface lets a Print Job:


Determine the format, or "doc flavor" (class DocFlavor),
in which the print data is available. A doc flavor designates the print
data format (a MIME type) and the representation class of the object
from which the print data comes.


Obtain the print data representation object, which is an instance of the
doc flavor's representation class. The Print Job can then obtain the actual
print data from the representation object.


Obtain the printing attributes that specify additional characteristics of
the doc or that specify processing instructions to be applied to the doc.
Printing attributes are defined in package javax.print.attribute. The doc returns its printing attributes stored in
an javax.print.attribute.DocAttributeSet.


Each method in an implementation of interface Doc is permitted always to
return the same object each time the method is called.
This has implications
for a Print Job or other caller of a doc object whose print data
representation object "consumes" the print data as the caller obtains the
print data, such as a print data representation object which is a stream.
Once the Print Job has called getPrintData() and obtained the stream, any further calls to
getPrintData() will return the same
stream object upon which reading may already be in progress, not a new
stream object that will re-read the print data from the beginning. Specifying
a doc object to behave this way simplifies the implementation of doc objects,
and is justified on the grounds that a particular doc is intended to convey
print data only to one Print Job, not to several different Print Jobs. (To
convey the same print data to several different Print Jobs, you have to
create several different doc objects on top of the same print data source.)

Interface Doc affords considerable implementation flexibility. The print data
might already be in existence when the doc object is constructed. In this
case the objects returned by the doc's methods can be supplied to the doc's
constructor, be stored in the doc ahead of time, and simply be returned when
called for. Alternatively, the print data might not exist yet when the doc
object is constructed. In this case the doc object might provide a "lazy"
implementation that generates the print data representation object (and/or
the print data) only when the Print Job calls for it (when the Print Job
calls the getPrintData() method).

There is no restriction on the number of client threads that may be
simultaneously accessing the same doc. Therefore, all implementations of
interface Doc must be designed to be multiple thread safe.

However there can only be one consumer of the print data obtained from a
Doc.

If print data is obtained from the client as a stream, by calling Doc's
getReaderForText() or getStreamForBytes()
methods, or because the print data source is already an InputStream or
Reader, then the print service should always close these streams for the
client on all job completion conditions. With the following caveat.
If the print data is itself a stream, the service will always close it.
If the print data is otherwise something that can be requested as a stream,
the service will only close the stream if it has obtained the stream before
terminating. That is, just because a print service might request data as
a stream does not mean that it will, with the implications that Doc
implementors which rely on the service to close them should create such
streams only in response to a request from the service.
raw docstring

javax.print.DocFlavor

Class DocFlavor encapsulates an object that specifies the format in which print data is supplied to a DocPrintJob. "Doc" is a short, easy-to-pronounce term that means "a piece of print data." The print data format, or "doc flavor", consists of two things:

MIME type. This is a Multipurpose Internet Mail Extensions (MIME) media type (as defined in RFC 2045 and RFC 2046) that specifies how the print data is to be interpreted. The charset of text data should be the IANA MIME-preferred name, or its canonical name if no preferred name is specified. Additionally a few historical names supported by earlier versions of the Java platform may be recognized. See character encodings for more information on the character encodings supported on the Java platform.

Representation class name. This specifies the fully-qualified name of the class of the object from which the actual print data comes, as returned by the Class.getName() method. (Thus the class name for byte[] is "[B", for char[] it is "[C".)

A DocPrintJob obtains its print data by means of interface Doc. A Doc object lets the DocPrintJob determine the doc flavor the client can supply. A Doc object also lets the DocPrintJob obtain an instance of the doc flavor's representation class, from which the DocPrintJob then obtains the actual print data.

Client Formatted Print Data There are two broad categories of print data, client formatted print data and service formatted print data.

For client formatted print data, the client determines or knows the print data format. For example the client may have a JPEG encoded image, a URL for HTML code, or a disk file containing plain text in some encoding, possibly obtained from an external source, and requires a way to describe the data format to the print service.

The doc flavor's representation class is a conduit for the JPS DocPrintJob to obtain a sequence of characters or bytes from the client. The doc flavor's MIME type is one of the standard media types telling how to interpret the sequence of characters or bytes. For a list of standard media types, see the Internet Assigned Numbers Authority's (IANA's) Media Types Directory. Interface Doc provides two utility operations, getReaderForText and getStreamForBytes(), to help a Doc object's client extract client formatted print data.

For client formatted print data, the print data representation class is typically one of the following (although other representation classes are permitted):

Character array (char[]) -- The print data consists of the Unicode characters in the array.

String -- The print data consists of the Unicode characters in the string.

Character stream (java.io.Reader) -- The print data consists of the Unicode characters read from the stream up to the end-of-stream.

Byte array (byte[]) -- The print data consists of the bytes in the array. The bytes are encoded in the character set specified by the doc flavor's MIME type. If the MIME type does not specify a character set, the default character set is US-ASCII.

Byte stream (java.io.InputStream) -- The print data consists of the bytes read from the stream up to the end-of-stream. The bytes are encoded in the character set specified by the doc flavor's MIME type. If the MIME type does not specify a character set, the default character set is US-ASCII.

Uniform Resource Locator (URL) -- The print data consists of the bytes read from the URL location. The bytes are encoded in the character set specified by the doc flavor's MIME type. If the MIME type does not specify a character set, the default character set is US-ASCII.

When the representation class is a URL, the print service itself accesses and downloads the document directly from its URL address, without involving the client. The service may be some form of network print service which is executing in a different environment. This means you should not use a URL print data flavor to print a document at a restricted URL that the client can see but the printer cannot see. This also means you should not use a URL print data flavor to print a document stored in a local file that is not available at a URL accessible independently of the client. For example, a file that is not served up by an HTTP server or FTP server. To print such documents, let the client open an input stream on the URL or file and use an input stream data flavor.

Default and Platform Encodings

For byte print data where the doc flavor's MIME type does not include a charset parameter, the Java Print Service instance assumes the US-ASCII character set by default. This is in accordance with RFC 2046, which says the default character set is US-ASCII. Note that US-ASCII is a subset of UTF-8, so in the future this may be widened if a future RFC endorses UTF-8 as the default in a compatible manner.

Also note that this is different than the behaviour of the Java runtime when interpreting a stream of bytes as text data. That assumes the default encoding for the user's locale. Thus, when spooling a file in local encoding to a Java Print Service it is important to correctly specify the encoding. Developers working in the English locales should be particularly conscious of this, as their platform encoding corresponds to the default mime charset. By this coincidence that particular case may work without specifying the encoding of platform data.

Every instance of the Java virtual machine has a default character encoding determined during virtual-machine startup and typically depends upon the locale and charset being used by the underlying operating system. In a distributed environment there is no guarantee that two VM share the same default encoding. Thus clients which want to stream platform encoded text data from the host platform to a Java Print Service instance must explicitly declare the charset and not rely on defaults.

The preferred form is the official IANA primary name for an encoding. Applications which stream text data should always specify the charset in the mime type, which necessitates obtaining the encoding of the host platform for data (eg files) stored in that platform's encoding. A CharSet which corresponds to this and is suitable for use in a mime-type for a DocFlavor can be obtained from DocFlavor.hostEncoding This may not always be the primary IANA name but is guaranteed to be understood by this VM. For common flavors, the pre-defined *HOST DocFlavors may be used.

See character encodings for more information on the character encodings supported on the Java platform.

Recommended DocFlavors

The Java Print Service API does not define any mandatorily supported DocFlavors. However, here are some examples of MIME types that a Java Print Service instance might support for client formatted print data. Nested classes inside class DocFlavor declare predefined static constant DocFlavor objects for these example doc flavors; class DocFlavor's constructor can be used to create an arbitrary doc flavor.

Preformatted text

MIME-TypeDescription

"text/plain" Plain text in the default character set (US-ASCII)

"text/plain; charset=xxx" Plain text in character set xxx

"text/html" HyperText Markup Language in the default character set (US-ASCII)

"text/html; charset=xxx" HyperText Markup Language in character set xxx

In general, preformatted text print data is provided either in a character oriented representation class (character array, String, Reader) or in a byte oriented representation class (byte array, InputStream, URL).

Preformatted page description language (PDL) documents

MIME-TypeDescription

"application/pdf" Portable Document Format document

"application/postscript" PostScript document

"application/vnd.hp-PCL" Printer Control Language document

In general, preformatted PDL print data is provided in a byte oriented representation class (byte array, InputStream, URL).

Preformatted images

MIME-TypeDescription

"image/gif" Graphics Interchange Format image

"image/jpeg" Joint Photographic Experts Group image

"image/png" Portable Network Graphics image

In general, preformatted image print data is provided in a byte oriented representation class (byte array, InputStream, URL).

Preformatted autosense print data

MIME-TypeDescription

"application/octet-stream" The print data format is unspecified (just an octet stream)

The printer decides how to interpret the print data; the way this "autosensing" works is implementation dependent. In general, preformatted autosense print data is provided in a byte oriented representation class (byte array, InputStream, URL).

Service Formatted Print Data

For service formatted print data, the Java Print Service instance determines the print data format. The doc flavor's representation class denotes an interface whose methods the DocPrintJob invokes to determine the content to be printed -- such as a renderable image interface or a Java printable interface. The doc flavor's MIME type is the special value "application/x-java-jvm-local-objectref" indicating the client will supply a reference to a Java object that implements the interface named as the representation class. This MIME type is just a placeholder; what's important is the print data representation class.

For service formatted print data, the print data representation class is typically one of the following (although other representation classes are permitted). Nested classes inside class DocFlavor declare predefined static constant DocFlavor objects for these example doc flavors; class DocFlavor's constructor can be used to create an arbitrary doc flavor.

Renderable image object -- The client supplies an object that implements interface RenderableImage. The printer calls methods in that interface to obtain the image to be printed.

Printable object -- The client supplies an object that implements interface Printable. The printer calls methods in that interface to obtain the pages to be printed, one by one. For each page, the printer supplies a graphics context, and whatever the client draws in that graphics context gets printed.

Pageable object -- The client supplies an object that implements interface Pageable. The printer calls methods in that interface to obtain the pages to be printed, one by one. For each page, the printer supplies a graphics context, and whatever the client draws in that graphics context gets printed.

Pre-defined Doc Flavors A Java Print Service instance is not required to support the following print data formats and print data representation classes. In fact, a developer using this class should never assume that a particular print service supports the document types corresponding to these pre-defined doc flavors. Always query the print service to determine what doc flavors it supports. However, developers who have print services that support these doc flavors are encouraged to refer to the predefined singleton instances created here.

Plain text print data provided through a byte stream. Specifically, the following doc flavors are recommended to be supported: · ("text/plain", "java.io.InputStream") · ("text/plain; charset=us-ascii", "java.io.InputStream") · ("text/plain; charset=utf-8", "java.io.InputStream")

Renderable image objects. Specifically, the following doc flavor is recommended to be supported: · ("application/x-java-jvm-local-objectref", "java.awt.image.renderable.RenderableImage")

A Java Print Service instance is allowed to support any other doc flavors (or none) in addition to the above mandatory ones, at the implementation's choice.

Support for the above doc flavors is desirable so a printing client can rely on being able to print on any JPS printer, regardless of which doc flavors the printer supports. If the printer doesn't support the client's preferred doc flavor, the client can at least print plain text, or the client can convert its data to a renderable image and print the image.

Furthermore, every Java Print Service instance must fulfill these requirements for processing plain text print data:

The character pair carriage return-line feed (CR-LF) means "go to column 1 of the next line."

A carriage return (CR) character standing by itself means "go to column 1 of the next line."

A line feed (LF) character standing by itself means "go to column 1 of the next line."

The client must itself perform all plain text print data formatting not addressed by the above requirements.

Design Rationale

Class DocFlavor in package javax.print.data is similar to class DataFlavor. Class DataFlavor is not used in the Java Print Service (JPS) API for three reasons which are all rooted in allowing the JPS API to be shared by other print services APIs which may need to run on Java profiles which do not include all of the Java Platform, Standard Edition.

The JPS API is designed to be used in Java profiles which do not support AWT.

The implementation of class java.awt.datatransfer.DataFlavor does not guarantee that equivalent data flavors will have the same serialized representation. DocFlavor does, and can be used in services which need this.

The implementation of class java.awt.datatransfer.DataFlavor includes a human presentable name as part of the serialized representation. This is not appropriate as part of a service matching constraint.

Class DocFlavor's serialized representation uses the following canonical form of a MIME type string. Thus, two doc flavors with MIME types that are not identical but that are equivalent (that have the same canonical form) may be considered equal.

The media type, media subtype, and parameters are retained, but all comments and whitespace characters are discarded. The media type, media subtype, and parameter names are converted to lowercase. The parameter values retain their original case, except a charset parameter value for a text media type is converted to lowercase. Quote characters surrounding parameter values are removed. Quoting backslash characters inside parameter values are removed. The parameters are arranged in ascending order of parameter name.

Class DocFlavor's serialized representation also contains the fully-qualified class name of the representation class (a String object), rather than the representation class itself (a Class object). This allows a client to examine the doc flavors a Java Print Service instance supports without having to load the representation classes, which may be problematic for limited-resource clients.

Class DocFlavor encapsulates an object that specifies the
format in which print data is supplied to a DocPrintJob.
"Doc" is a short, easy-to-pronounce term that means "a piece of print data."
The print data format, or "doc flavor", consists of two things:


MIME type. This is a Multipurpose Internet Mail Extensions (MIME)
media type (as defined in RFC
2045 and RFC 2046)
that specifies how the print data is to be interpreted.
The charset of text data should be the IANA MIME-preferred name, or its
canonical name if no preferred name is specified. Additionally a few
historical names supported by earlier versions of the Java platform may
be recognized.
See
character encodings for more information on the character encodings
supported on the Java platform.


Representation class name. This specifies the fully-qualified name of
the class of the object from which the actual print data comes, as returned
by the Class.getName() method.
(Thus the class name for byte[] is "[B", for
char[] it is "[C".)


A DocPrintJob obtains its print data by means of interface
Doc. A Doc object lets the DocPrintJob
determine the doc flavor the client can supply.  A Doc object
also lets the DocPrintJob obtain an instance of the doc flavor's
representation class, from which the DocPrintJob then obtains
the actual print data.


Client Formatted Print Data
There are two broad categories of print data, client formatted print data
and service formatted print data.

For client formatted print data, the client determines or knows the
print data format.
For example the client may have a JPEG encoded image, a URL for
HTML code, or a disk file containing plain text in some encoding,
possibly obtained from an external source, and
requires a way to describe the data format to the print service.

The doc flavor's representation class is a conduit for the JPS
DocPrintJob to obtain a sequence of characters or
bytes from the client. The
doc flavor's MIME type is one of the standard media types telling how to
interpret the sequence of characters or bytes. For a list of standard media
types, see the Internet Assigned Numbers Authority's (IANA's) Media Types
Directory. Interface Doc provides two utility operations,
getReaderForText and
getStreamForBytes(), to help a
Doc object's client extract client formatted print data.

For client formatted print data, the print data representation class is
typically one of the following (although other representation classes are
permitted):


Character array (char[]) -- The print data consists of the
Unicode characters in the array.


String  --
The print data consists of the Unicode characters in the string.


Character stream (java.io.Reader)
-- The print data consists of the Unicode characters read from the stream
up to the end-of-stream.


Byte array (byte[]) -- The print data consists of the bytes in
the array. The bytes are encoded in the character set specified by the doc
flavor's MIME type. If the MIME type does not specify a character set, the
default character set is US-ASCII.


Byte stream (java.io.InputStream) --
The print data consists of the bytes read from the stream up to the
end-of-stream. The bytes are encoded in the character set specified by the
doc flavor's MIME type. If the MIME type does not specify a character set,
the default character set is US-ASCII.


Uniform Resource Locator (URL)
-- The print data consists of the bytes read from the URL location.
The bytes are encoded in the character set specified by the doc flavor's
MIME type. If the MIME type does not specify a character set, the default
character set is US-ASCII.

When the representation class is a URL, the print service itself accesses
and downloads the document directly from its URL address, without involving
the client. The service may be some form of network print service which
is executing in a different environment.
This means you should not use a URL print data flavor to print a
document at a restricted URL that the client can see but the printer cannot
see. This also means you should not use a URL print data flavor to print a
document stored in a local file that is not available at a URL
accessible independently of the client.
For example, a file that is not served up by an HTTP server or FTP server.
To print such documents, let the client open an input stream on the URL
or file and use an input stream data flavor.



Default and Platform Encodings

For byte print data where the doc flavor's MIME type does not include a
charset parameter, the Java Print Service instance assumes the
US-ASCII character set by default. This is in accordance with
RFC 2046, which says the
default character set is US-ASCII. Note that US-ASCII is a subset of
UTF-8, so in the future this may be widened if a future RFC endorses
UTF-8 as the default in a compatible manner.

Also note that this is different than the behaviour of the Java runtime
when interpreting a stream of bytes as text data. That assumes the
default encoding for the user's locale. Thus, when spooling a file in local
encoding to a Java Print Service it is important to correctly specify
the encoding. Developers working in the English locales should
be particularly conscious of this, as their platform encoding corresponds
to the default mime charset. By this coincidence that particular
case may work without specifying the encoding of platform data.

Every instance of the Java virtual machine has a default character encoding
determined during virtual-machine startup and typically depends upon the
locale and charset being used by the underlying operating system.
In a distributed environment there is no guarantee that two VM share
the same default encoding. Thus clients which want to stream platform
encoded text data from the host platform to a Java Print Service instance
must explicitly declare the charset and not rely on defaults.

The preferred form is the official IANA primary name for an encoding.
Applications which stream text data should always specify the charset
in the mime type, which necessitates obtaining the encoding of the host
platform for data (eg files) stored in that platform's encoding.
A CharSet which corresponds to this and is suitable for use in a
mime-type for a DocFlavor can be obtained
from DocFlavor.hostEncoding
This may not always be the primary IANA name but is guaranteed to be
understood by this VM.
For common flavors, the pre-defined *HOST DocFlavors may be used.


See
character encodings for more information on the character encodings
supported on the Java platform.


Recommended DocFlavors

The Java Print Service API does not define any mandatorily supported
DocFlavors.
However, here are some examples of MIME types that a Java Print Service
instance might support for client formatted print data.
Nested classes inside class DocFlavor declare predefined static
constant DocFlavor objects for these example doc flavors; class DocFlavor's
constructor can be used to create an arbitrary doc flavor.

Preformatted text



 MIME-TypeDescription


"text/plain"
Plain text in the default character set (US-ASCII)


"text/plain; charset=xxx"
Plain text in character set xxx


"text/html"
HyperText Markup Language in the default character set (US-ASCII)


"text/html; charset=xxx"
HyperText Markup Language in character set xxx



In general, preformatted text print data is provided either in a character
oriented representation class (character array, String, Reader) or in a
byte oriented representation class (byte array, InputStream, URL).

 Preformatted page description language (PDL) documents



 MIME-TypeDescription


"application/pdf"
Portable Document Format document


"application/postscript"
PostScript document


"application/vnd.hp-PCL"
Printer Control Language document



In general, preformatted PDL print data is provided in a byte oriented
representation class (byte array, InputStream, URL).

 Preformatted images



 MIME-TypeDescription



"image/gif"
Graphics Interchange Format image


"image/jpeg"
Joint Photographic Experts Group image


"image/png"
Portable Network Graphics image



In general, preformatted image print data is provided in a byte oriented
representation class (byte array, InputStream, URL).

 Preformatted autosense print data



 MIME-TypeDescription



"application/octet-stream"
The print data format is unspecified (just an octet stream)


The printer decides how to interpret the print data; the way this
"autosensing" works is implementation dependent. In general, preformatted
autosense print data is provided in a byte oriented representation class
(byte array, InputStream, URL).



Service Formatted Print Data

For service formatted print data, the Java Print Service instance
determines the print data format. The doc flavor's representation class
denotes an interface whose methods the DocPrintJob invokes to
determine the content to be printed -- such as a renderable image
interface or a Java printable interface.
The doc flavor's MIME type is the special value
"application/x-java-jvm-local-objectref" indicating the client
will supply a reference to a Java object that implements the interface
named as the representation class.
This MIME type is just a placeholder; what's
important is the print data representation class.

For service formatted print data, the print data representation class is
typically one of the following (although other representation classes are
permitted). Nested classes inside class DocFlavor declare predefined static
constant DocFlavor objects for these example doc flavors; class DocFlavor's
constructor can be used to create an arbitrary doc flavor.


Renderable image object -- The client supplies an object that implements
interface
RenderableImage. The
printer calls methods
in that interface to obtain the image to be printed.


Printable object -- The client supplies an object that implements interface
Printable.
The printer calls methods in that interface to obtain the pages to be
printed, one by one.
For each page, the printer supplies a graphics context, and whatever the
client draws in that graphics context gets printed.


Pageable object -- The client supplies an object that implements interface
Pageable. The printer calls
methods in that interface to obtain the pages to be printed, one by one.
For each page, the printer supplies a graphics context, and whatever
the client draws in that graphics context gets printed.





Pre-defined Doc Flavors
A Java Print Service instance is not required to support the
following print data formats and print data representation classes.  In
fact, a developer using this class should never assume that a
particular print service supports the document types corresponding to
these pre-defined doc flavors.  Always query the print service
to determine what doc flavors it supports.  However,
developers who have print services that support these doc flavors are
encouraged to refer to the predefined singleton instances created here.


Plain text print data provided through a byte stream. Specifically, the
following doc flavors are recommended to be supported:
·
("text/plain", "java.io.InputStream")
·
("text/plain; charset=us-ascii", "java.io.InputStream")
·
("text/plain; charset=utf-8", "java.io.InputStream")


Renderable image objects. Specifically, the following doc flavor is
recommended to be supported:
·
("application/x-java-jvm-local-objectref", "java.awt.image.renderable.RenderableImage")


A Java Print Service instance is allowed to support any other doc flavors
(or none) in addition to the above mandatory ones, at the implementation's
choice.

Support for the above doc flavors is desirable so a printing client can rely
on being able to print on any JPS printer, regardless of which doc flavors
the printer supports. If the printer doesn't support the client's preferred
doc flavor, the client can at least print plain text, or the client can
convert its data to a renderable image and print the image.

Furthermore, every Java Print Service instance must fulfill these
requirements for processing plain text print data:


The character pair carriage return-line feed (CR-LF) means
"go to column 1 of the next line."

A carriage return (CR) character standing by itself means
"go to column 1 of the next line."

A line feed (LF) character standing by itself means
"go to column 1 of the next line."



The client must itself perform all plain text print data formatting not
addressed by the above requirements.

Design Rationale

Class DocFlavor in package javax.print.data is similar to class
DataFlavor. Class
DataFlavor
is not used in the Java Print Service (JPS) API
for three reasons which are all rooted in allowing the JPS API to be
shared by other print services APIs which may need to run on Java profiles
which do not include all of the Java Platform, Standard Edition.


The JPS API is designed to be used in Java profiles which do not support
AWT.


The implementation of class java.awt.datatransfer.DataFlavor
does not guarantee that equivalent data flavors will have the same
serialized representation. DocFlavor does, and can be used in services
which need this.


The implementation of class java.awt.datatransfer.DataFlavor
includes a human presentable name as part of the serialized representation.
This is not appropriate as part of a service matching constraint.


Class DocFlavor's serialized representation uses the following
canonical form of a MIME type string. Thus, two doc flavors with MIME types
that are not identical but that are equivalent (that have the same
canonical form) may be considered equal.

 The media type, media subtype, and parameters are retained, but all
     comments and whitespace characters are discarded.
 The media type, media subtype, and parameter names are converted to
     lowercase.
 The parameter values retain their original case, except a charset
     parameter value for a text media type is converted to lowercase.
 Quote characters surrounding parameter values are removed.
 Quoting backslash characters inside parameter values are removed.
 The parameters are arranged in ascending order of parameter name.


Class DocFlavor's serialized representation also contains the
fully-qualified class name of the representation class
(a String object), rather than the representation class itself
(a Class object). This allows a client to examine the doc flavors a
Java Print Service instance supports without having
to load the representation classes, which may be problematic for
limited-resource clients.
raw docstring

javax.print.DocFlavor$BYTE_ARRAY

Class DocFlavor.BYTE_ARRAY provides predefined static constant DocFlavor objects for example doc flavors using a byte array (byte[]) as the print data representation class.

Class DocFlavor.BYTE_ARRAY provides predefined static constant
DocFlavor objects for example doc flavors using a byte array
(byte[]) as the print data representation class.
raw docstring

javax.print.DocFlavor$CHAR_ARRAY

Class DocFlavor.CHAR_ARRAY provides predefined static constant DocFlavor objects for example doc flavors using a character array (char[]) as the print data representation class. As such, the character set is Unicode.

Class DocFlavor.CHAR_ARRAY provides predefined static constant
DocFlavor objects for example doc flavors using a character array
(char[]) as the print data representation class. As such,
the character set is Unicode.
raw docstring

javax.print.DocFlavor$INPUT_STREAM

Class DocFlavor.INPUT_STREAM provides predefined static constant DocFlavor objects for example doc flavors using a byte stream (java.io.InputStream) as the print data representation class.

Class DocFlavor.INPUT_STREAM provides predefined static constant
DocFlavor objects for example doc flavors using a byte stream (java.io.InputStream) as the print
data representation class.
raw docstring

javax.print.DocFlavor$READER

Class DocFlavor.READER provides predefined static constant DocFlavor objects for example doc flavors using a character stream (java.io.Reader) as the print data representation class. As such, the character set is Unicode.

Class DocFlavor.READER provides predefined static constant DocFlavor
objects for example doc flavors using a character stream (java.io.Reader) as the print data
representation class. As such, the character set is Unicode.
raw docstring

javax.print.DocFlavor$SERVICE_FORMATTED

Class DocFlavor.SERVICE_FORMATTED provides predefined static constant DocFlavor objects for example doc flavors for service formatted print data.

Class DocFlavor.SERVICE_FORMATTED provides predefined static constant
DocFlavor objects for example doc flavors for service formatted print
data.
raw docstring

javax.print.DocFlavor$STRING

Class DocFlavor.STRING provides predefined static constant DocFlavor objects for example doc flavors using a string (java.lang.String) as the print data representation class. As such, the character set is Unicode.

Class DocFlavor.STRING provides predefined static constant DocFlavor
objects for example doc flavors using a string (java.lang.String) as the print data representation class.
As such, the character set is Unicode.
raw docstring

javax.print.DocFlavor$URL

Class DocFlavor.URL provides predefined static constant DocFlavor objects. For example doc flavors using a Uniform Resource Locator (java.net.URL) as the print data representation class.

Class DocFlavor.URL provides predefined static constant DocFlavor
objects.
For example doc flavors using a Uniform Resource Locator (java.net.URL) as the print data
representation  class.
raw docstring

javax.print.DocPrintJob

This interface represents a print job that can print a specified document with a set of job attributes. An object implementing this interface is obtained from a print service.

This interface represents a print job that can print a specified
document with a set of job attributes.  An object implementing
this interface is obtained from a print service.
raw docstring

javax.print.event.core

No vars found in this namespace.

javax.print.event.PrintEvent

Class PrintEvent is the super class of all Print Service API events.

Class PrintEvent is the super class of all Print Service API events.
raw docstring

javax.print.event.PrintJobAdapter

An abstract adapter class for receiving print job events. The methods in this class are empty. This class exists as a convenience for creating listener objects. Extend this class to create a PrintJobEvent listener and override the methods for the events of interest. Unlike the ComponentListener interface, this abstract interface provides null methods so that you only need to define the methods you need, rather than all of the methods.

An abstract adapter class for receiving print job events.
The methods in this class are empty.
This class exists as a convenience for creating listener objects.
Extend this class to create a PrintJobEvent listener and override
the methods for the events of interest.  Unlike the
ComponentListener
interface, this abstract interface provides null methods so that you
only need to define the methods you need, rather than all of the methods.
raw docstring

javax.print.event.PrintJobAttributeEvent

Class PrintJobAttributeEvent encapsulates an event a PrintService reports to let the client know that one or more printing attributes for a PrintJob have changed.

Class PrintJobAttributeEvent encapsulates an event a PrintService
reports to let the client know that one or more printing attributes for a
PrintJob have changed.
raw docstring

javax.print.event.PrintJobAttributeListener

Implementations of this interface are attached to a DocPrintJob to monitor the status of attribute changes associated with the print job.

Implementations of this interface are attached to a
DocPrintJob to monitor
the status of attribute changes associated with the print job.
raw docstring

javax.print.event.PrintJobEvent

Class PrintJobEvent encapsulates common events a print job reports to let a listener know of progress in the processing of the DocPrintJob.

Class PrintJobEvent encapsulates common events a print job
reports to let a listener know of progress in the processing of the
DocPrintJob.
raw docstring

javax.print.event.PrintJobListener

Implementations of this listener interface should be attached to a DocPrintJob to monitor the status of the printer job. These callback methods may be invoked on the thread processing the print job, or a service created notification thread. In either case the client should not perform lengthy processing in these callbacks.

Implementations of this listener interface should be attached to a
DocPrintJob to monitor the status of
the printer job.
These callback methods may be invoked on the thread processing the
print job, or a service created notification thread. In either case
the client should not perform lengthy processing in these callbacks.
raw docstring

javax.print.event.PrintServiceAttributeEvent

Class PrintServiceAttributeEvent encapsulates an event a Print Service instance reports to let the client know of changes in the print service state.

Class PrintServiceAttributeEvent encapsulates an event a
Print Service instance reports to let the client know of
changes in the print service state.
raw docstring

javax.print.event.PrintServiceAttributeListener

Implementations of this listener interface are attached to a PrintService to monitor the status of the print service.

To monitor a particular job see PrintJobListener and PrintJobAttributeListener.

Implementations of this listener interface are attached to a
PrintService to monitor
the status of the print service.

To monitor a particular job see PrintJobListener and
PrintJobAttributeListener.
raw docstring

javax.print.FlavorException

Interface FlavorException is a mixin interface which a subclass of PrintException can implement to report an error condition involving a doc flavor or flavors (class DocFlavor). The Print Service API does not define any print exception classes that implement interface FlavorException, that being left to the Print Service implementor's discretion.

Interface FlavorException is a mixin interface which a subclass of PrintException can implement to report an error condition
involving a doc flavor or flavors (class DocFlavor). The Print Service API does not define any print exception
classes that implement interface FlavorException, that being left to the
Print Service implementor's discretion.
raw docstring

javax.print.MultiDoc

Interface MultiDoc specifies the interface for an object that supplies more than one piece of print data for a Print Job. "Doc" is a short, easy-to-pronounce term that means "a piece of print data," and a "multidoc" is a group of several docs. The client passes to the Print Job an object that implements interface MultiDoc, and the Print Job calls methods on that object to obtain the print data.

Interface MultiDoc provides an abstraction similar to a "linked list" of docs. A multidoc object is like a node in the linked list, containing the current doc in the list and a pointer to the next node (multidoc) in the list. The Print Job can call the multidoc's getDoc() method to get the current doc. When it's ready to go on to the next doc, the Print Job can call the multidoc's next() method to get the next multidoc, which contains the next doc. So Print Job code for accessing a multidoc might look like this:

 void processMultiDoc(MultiDoc theMultiDoc) {

     MultiDoc current = theMultiDoc;

     while (current != null) {
         processDoc (current.getDoc());
         current = current.next();
     }
 }

Of course, interface MultiDoc can be implemented in any way that fulfills the contract; it doesn't have to use a linked list in the implementation.

To get all the print data for a multidoc print job, a Print Service proxy could use either of two patterns:

The interleaved pattern: Get the doc from the current multidoc. Get the print data representation object from the current doc. Get all the print data from the print data representation object. Get the next multidoc from the current multidoc, and repeat until there are no more. (The code example above uses the interleaved pattern.)

The all-at-once pattern: Get the doc from the current multidoc, and save the doc in a list. Get the next multidoc from the current multidoc, and repeat until there are no more. Then iterate over the list of saved docs. Get the print data representation object from the current doc. Get all the print data from the print data representation object. Go to the next doc in the list, and repeat until there are no more.

Now, consider a printing client that is generating print data on the fly and does not have the resources to store more than one piece of print data at a time. If the print service proxy used the all-at-once pattern to get the print data, it would pose a problem for such a client; the client would have to keep all the docs' print data around until the print service proxy comes back and asks for them, which the client is not able to do. To work with such a client, the print service proxy must use the interleaved pattern.

To address this problem, and to simplify the design of clients providing multiple docs to a Print Job, every Print Service proxy that supports multidoc print jobs is required to access a MultiDoc object using the interleaved pattern. That is, given a MultiDoc object, the print service proxy will call getDoc() one or more times until it successfully obtains the current Doc object. The print service proxy will then obtain the current doc's print data, not proceeding until all the print data is obtained or an unrecoverable error occurs. If it is able to continue, the print service proxy will then call next() one or more times until it successfully obtains either the next MultiDoc object or an indication that there are no more. An implementation of interface MultiDoc can assume the print service proxy will follow this interleaved pattern; for any other pattern of usage, the MultiDoc implementation's behavior is unspecified.

There is no restriction on the number of client threads that may be simultaneously accessing the same multidoc. Therefore, all implementations of interface MultiDoc must be designed to be multiple thread safe. In fact, a client thread could be adding docs to the end of the (conceptual) list while a Print Job thread is simultaneously obtaining docs from the beginning of the list; provided the multidoc object synchronizes the threads properly, the two threads will not interfere with each other

Interface MultiDoc specifies the interface for an object that supplies more
than one piece of print data for a Print Job. "Doc" is a short,
easy-to-pronounce term that means "a piece of print data," and a "multidoc"
is a group of several docs. The client passes to the Print Job an object
that implements interface MultiDoc, and the Print Job calls methods on
 that object to obtain the print data.

Interface MultiDoc provides an abstraction similar to a "linked list" of
docs. A multidoc object is like a node in the linked list, containing the
current doc in the list and a pointer to the next node (multidoc) in the
list. The Print Job can call the multidoc's getDoc() method to get the current doc. When it's ready to go
on to the next doc, the Print Job can call the multidoc's next() method to get the next multidoc, which contains the
next doc. So Print Job code for accessing a multidoc might look like this:


     void processMultiDoc(MultiDoc theMultiDoc) {

         MultiDoc current = theMultiDoc;

         while (current != null) {
             processDoc (current.getDoc());
             current = current.next();
         }
     }

Of course, interface MultiDoc can be implemented in any way that fulfills
the contract; it doesn't have to use a linked list in the implementation.

To get all the print data for a multidoc print job, a Print Service
proxy could use either of two patterns:


The interleaved pattern: Get the doc from the current multidoc. Get
the print data representation object from the current doc. Get all the print
data from the print data representation object. Get the next multidoc from
the current multidoc, and repeat until there are no more. (The code example
above uses the interleaved pattern.)


The all-at-once pattern: Get the doc from the current multidoc, and
save the doc in a list. Get the next multidoc from the current multidoc, and
repeat until there are no more. Then iterate over the list of saved docs. Get
the print data representation object from the current doc. Get all the print
data from the print data representation object. Go to the next doc in the
list, and repeat until there are no more.

Now, consider a printing client that is generating print data on the fly and
does not have the resources to store more than one piece of print data at a
time. If the print service proxy used the all-at-once pattern to get the
print data, it would pose a problem for such a client; the client would have
to keep all the docs' print data around until the print service proxy comes
back and asks for them, which the client is not able to do. To work with such
a client, the print service proxy must use the interleaved pattern.

To address this problem, and to simplify the design of clients providing
multiple docs to a Print Job, every Print Service proxy that supports
multidoc print jobs is required to access a MultiDoc object using the
interleaved pattern. That is, given a MultiDoc object, the print service
proxy will call getDoc() one or more times
until it successfully obtains the current Doc object. The print service proxy
will then obtain the current doc's print data, not proceeding until all the
print data is obtained or an unrecoverable error occurs. If it is able to
continue, the print service proxy will then call next() one or more times until it successfully obtains either
the next MultiDoc object or an indication that there are no more. An
implementation of interface MultiDoc can assume the print service proxy will
follow this interleaved pattern; for any other pattern of usage, the MultiDoc
implementation's behavior is unspecified.

There is no restriction on the number of client threads that may be
simultaneously accessing the same multidoc. Therefore, all implementations of
interface MultiDoc must be designed to be multiple thread safe. In fact, a
client thread could be adding docs to the end of the (conceptual) list while
a Print Job thread is simultaneously obtaining docs from the beginning of the
list; provided the multidoc object synchronizes the threads properly, the two
threads will not interfere with each other
raw docstring

javax.print.MultiDocPrintJob

Obtained from a MultiDocPrintService, a MultiDocPrintJob can print a specified collection of documents as a single print job with a set of job attributes.

Obtained from a MultiDocPrintService, a MultiDocPrintJob can print a
specified collection of documents as a single print job with a set of
job attributes.
raw docstring

javax.print.MultiDocPrintService

Interface MultiPrintService is the factory for a MultiDocPrintJob. A MultiPrintService describes the capabilities of a Printer and can be queried regarding a printer's supported attributes.

Interface MultiPrintService is the factory for a MultiDocPrintJob.
A MultiPrintService
describes the capabilities of a Printer and can be queried regarding
a printer's supported attributes.
raw docstring

javax.print.PrintException

Class PrintException encapsulates a printing-related error condition that occurred while using a Print Service instance. This base class furnishes only a string description of the error. Subclasses furnish more detailed information if applicable.

Class PrintException encapsulates a printing-related error condition that
occurred while using a Print Service instance. This base class
furnishes only a string description of the error. Subclasses furnish more
detailed information if applicable.
raw docstring

javax.print.PrintService

Interface PrintService is the factory for a DocPrintJob. A PrintService describes the capabilities of a Printer and can be queried regarding a printer's supported attributes.

Example:

DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT; PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); aset.add(MediaSizeName.ISO_A4); PrintService[] pservices = PrintServiceLookup.lookupPrintServices(flavor, aset); if (pservices.length > 0) { DocPrintJob pj = pservices[0].createPrintJob(); try { FileInputStream fis = new FileInputStream("test.ps"); Doc doc = new SimpleDoc(fis, flavor, null); pj.print(doc, aset); } catch (FileNotFoundException fe) { } catch (PrintException e) { } }

Interface PrintService is the factory for a DocPrintJob. A PrintService
describes the capabilities of a Printer and can be queried regarding
a printer's supported attributes.

Example:


  DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;
  PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
  aset.add(MediaSizeName.ISO_A4);
  PrintService[] pservices =
                PrintServiceLookup.lookupPrintServices(flavor, aset);
  if (pservices.length > 0) {
      DocPrintJob pj = pservices[0].createPrintJob();
      try {
          FileInputStream fis = new FileInputStream("test.ps");
          Doc doc = new SimpleDoc(fis, flavor, null);
          pj.print(doc, aset);
       } catch (FileNotFoundException fe) {
       } catch (PrintException e) {
       }
  }
raw docstring

javax.print.PrintServiceLookup

Implementations of this class provide lookup services for print services (typically equivalent to printers) of a particular type.

Multiple implementations may be installed concurrently. All implementations must be able to describe the located printers as instances of a PrintService. Typically implementations of this service class are located automatically in JAR files (see the SPI JAR file specification). These classes must be instantiable using a default constructor. Alternatively applications may explicitly register instances at runtime.

Applications use only the static methods of this abstract class. The instance methods are implemented by a service provider in a subclass and the unification of the results from all installed lookup classes are reported by the static methods of this class when called by the application.

A PrintServiceLookup implementor is recommended to check for the SecurityManager.checkPrintJobAccess() to deny access to untrusted code. Following this recommended policy means that untrusted code may not be able to locate any print services. Downloaded applets are the most common example of untrusted code.

This check is made on a per lookup service basis to allow flexibility in the policy to reflect the needs of different lookup services.

Services which are registered by registerService(PrintService) will not be included in lookup results if a security manager is installed and its checkPrintJobAccess() method denies access.

Implementations of this class provide lookup services for
print services (typically equivalent to printers) of a particular type.

Multiple implementations may be installed concurrently.
All implementations must be able to describe the located printers
as instances of a PrintService.
Typically implementations of this service class are located
automatically in JAR files (see the SPI JAR file specification).
These classes must be instantiable using a default constructor.
Alternatively applications may explicitly register instances
at runtime.

Applications use only the static methods of this abstract class.
The instance methods are implemented by a service provider in a subclass
and the unification of the results from all installed lookup classes
are reported by the static methods of this class when called by
the application.

A PrintServiceLookup implementor is recommended to check for the
SecurityManager.checkPrintJobAccess() to deny access to untrusted code.
Following this recommended policy means that untrusted code may not
be able to locate any print services. Downloaded applets are the most
common example of untrusted code.

This check is made on a per lookup service basis to allow flexibility in
the policy to reflect the needs of different lookup services.

Services which are registered by registerService(PrintService)
will not be included in lookup results if a security manager is
installed and its checkPrintJobAccess() method denies access.
raw docstring

javax.print.ServiceUI

This class is a collection of UI convenience methods which provide a graphical user dialog for browsing print services looked up through the Java Print Service API.

The dialogs follow a standard pattern of acting as a continue/cancel option for a user as well as allowing the user to select the print service to use and specify choices such as paper size and number of copies.

The dialogs are designed to work with pluggable print services though the public APIs of those print services.

If a print service provides any vendor extensions these may be made accessible to the user through a vendor supplied tab panel Component. Such a vendor extension is encouraged to use Swing! and to support its accessibility APIs. The vendor extensions should return the settings as part of the AttributeSet. Applications which want to preserve the user settings should use those settings to specify the print job. Note that this class is not referenced by any other part of the Java Print Service and may not be included in profiles which cannot depend on the presence of the AWT packages.

This class is a collection of UI convenience methods which provide a
 graphical user dialog for browsing print services looked up through the Java
 Print Service API.

 The dialogs follow a standard pattern of acting as a continue/cancel option
for a user as well as allowing the user to select the print service to use
and specify choices such as paper size and number of copies.


 The dialogs are designed to work with pluggable print services though the
 public APIs of those print services.

 If a print service provides any vendor extensions these may be made
 accessible to the user through a vendor supplied tab panel Component.
 Such a vendor extension is encouraged to use Swing! and to support its
 accessibility APIs.
 The vendor extensions should return the settings as part of the
 AttributeSet.
 Applications which want to preserve the user settings should use those
 settings to specify the print job.
 Note that this class is not referenced by any other part of the Java
 Print Service and may not be included in profiles which cannot depend
 on the presence of the AWT packages.
raw docstring

javax.print.ServiceUIFactory

Services may optionally provide UIs which allow different styles of interaction in different roles. One role may be end-user browsing and setting of print options. Another role may be administering the print service.

Although the Print Service API does not presently provide standardised support for administering a print service, monitoring of the print service is possible and a UI may provide for private update mechanisms.

The basic design intent is to allow applications to lazily locate and initialize services only when needed without any API dependencies except in an environment in which they are used.

Swing UIs are preferred as they provide a more consistent L&F and can support accessibility APIs.

Example usage:

ServiceUIFactory factory = printService.getServiceUIFactory(); if (factory != null) { JComponent swingui = (JComponent)factory.getUI( ServiceUIFactory.MAIN_UIROLE, ServiceUIFactory.JCOMPONENT_UI); if (swingui != null) { tabbedpane.add("Custom UI", swingui); } }

Services may optionally provide UIs which allow different styles
of interaction in different roles.
One role may be end-user browsing and setting of print options.
Another role may be administering the print service.

Although the Print Service API does not presently provide standardised
support for administering a print service, monitoring of the print
service is possible and a UI may provide for private update mechanisms.

The basic design intent is to allow applications to lazily locate and
initialize services only when needed without any API dependencies
except in an environment in which they are used.

Swing UIs are preferred as they provide a more consistent L&F
and can support accessibility APIs.

Example usage:


 ServiceUIFactory factory = printService.getServiceUIFactory();
 if (factory != null) {
     JComponent swingui = (JComponent)factory.getUI(
                                        ServiceUIFactory.MAIN_UIROLE,
                                        ServiceUIFactory.JCOMPONENT_UI);
     if (swingui != null) {
         tabbedpane.add("Custom UI", swingui);
     }
 }
raw docstring

javax.print.SimpleDoc

This class is an implementation of interface Doc that can be used in many common printing requests. It can handle all of the presently defined "pre-defined" doc flavors defined as static variables in the DocFlavor class.

In particular this class implements certain required semantics of the Doc specification as follows:

constructs a stream for the service if requested and appropriate. ensures the same object is returned for each call on a method. ensures multiple threads can access the Doc performs some validation of that the data matches the doc flavor.

Clients who want to re-use the doc object in other jobs, or need a MultiDoc will not want to use this class.

If the print data is a stream, or a print job requests data as a stream, then SimpleDoc does not monitor if the service properly closes the stream after data transfer completion or job termination. Clients may prefer to use provide their own implementation of doc that adds a listener to monitor job completion and to validate that resources such as streams are freed (ie closed).

This class is an implementation of interface Doc that can
be used in many common printing requests.
It can handle all of the presently defined "pre-defined" doc flavors
defined as static variables in the DocFlavor class.

In particular this class implements certain required semantics of the
Doc specification as follows:

constructs a stream for the service if requested and appropriate.
ensures the same object is returned for each call on a method.
ensures multiple threads can access the Doc
performs some validation of that the data matches the doc flavor.

Clients who want to re-use the doc object in other jobs,
or need a MultiDoc will not want to use this class.

If the print data is a stream, or a print job requests data as a
stream, then SimpleDoc does not monitor if the service
properly closes the stream after data transfer completion or job
termination.
Clients may prefer to use provide their own implementation of doc that
adds a listener to monitor job completion and to validate that
resources such as streams are freed (ie closed).
raw docstring

javax.print.StreamPrintService

This class extends PrintService and represents a print service that prints data in different formats to a client-provided output stream. This is principally intended for services where the output format is a document type suitable for viewing or archiving. The output format must be declared as a mime type. This is equivalent to an output document flavor where the representation class is always "java.io.OutputStream" An instance of the StreamPrintService class is obtained from a StreamPrintServiceFactory instance.

Note that a StreamPrintService is different from a PrintService, which supports a Destination attribute. A StreamPrintService always requires an output stream, whereas a PrintService optionally accepts a Destination. A StreamPrintService has no default destination for its formatted output. Additionally a StreamPrintService is expected to generate output in a format useful in other contexts. StreamPrintService's are not expected to support the Destination attribute.

This class extends PrintService and represents a
 print service that prints data in different formats to a
 client-provided output stream.
 This is principally intended for services where
 the output format is a document type suitable for viewing
 or archiving.
 The output format must be declared as a mime type.
 This is equivalent to an output document flavor where the
 representation class is always "java.io.OutputStream"
 An instance of the StreamPrintService class is
 obtained from a StreamPrintServiceFactory instance.

 Note that a StreamPrintService is different from a
 PrintService, which supports a
 Destination
 attribute.  A StreamPrintService always requires an output
 stream, whereas a PrintService optionally accepts a
 Destination. A StreamPrintService
 has no default destination for its formatted output.
 Additionally a StreamPrintService is expected to generate
output in
 a format useful in other contexts.
 StreamPrintService's are not expected to support the Destination attribute.
raw docstring

javax.print.StreamPrintServiceFactory

A StreamPrintServiceFactory is the factory for StreamPrintService instances, which can print to an output stream in a particular document format described as a mime type. A typical output document format may be Postscript(TM).

This class is implemented by a service and located by the implementation using the

SPI JAR File specification.

Applications locate instances of this class by calling the lookupStreamPrintServiceFactories(DocFlavor, String) method.

Applications can use a StreamPrintService obtained from a factory in place of a PrintService which represents a physical printer device.

A StreamPrintServiceFactory is the factory for
StreamPrintService instances,
which can print to an output stream in a particular
document format described as a mime type.
A typical output document format may be Postscript(TM).

This class is implemented by a service and located by the
implementation using the

SPI JAR File specification.

Applications locate instances of this class by calling the
lookupStreamPrintServiceFactories(DocFlavor, String) method.

Applications can use a StreamPrintService obtained from a
factory in place of a PrintService which represents a
physical printer device.
raw docstring

javax.print.URIException

Interface URIException is a mixin interface which a subclass of PrintException can implement to report an error condition involving a URI address. The Print Service API does not define any print exception classes that implement interface URIException, that being left to the Print Service implementor's discretion.

Interface URIException is a mixin interface which a subclass of PrintException can implement to report an error condition
involving a URI address. The Print Service API does not define any print
exception classes that implement interface URIException, that being left to
the Print Service implementor's discretion.
raw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close