Top Description Fields Constructors Methods
javax.print.attribute.standard

public final Class PageRanges

extends SetOfIntegerSyntax
implements DocAttribute, PrintRequestAttribute, PrintJobAttribute
Class Inheritance
All Implemented Interfaces
javax.print.attribute.PrintJobAttribute, javax.print.attribute.Attribute, java.io.Serializable, javax.print.attribute.PrintRequestAttribute, javax.print.attribute.DocAttribute
Imports
java.io.Serial, javax.print.attribute.Attribute, .DocAttribute, .PrintJobAttribute, .PrintRequestAttribute, .SetOfIntegerSyntax

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.

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.

Authors
David Mendenhall, Alan Kaminsky

Field Summary

Modifier and TypeField and Description
private static final long
serialVersionUID

Hides javax.print.attribute.SetOfIntegerSyntax.serialVersionUID.

Use serialVersionUID from JDK 1.4 for interoperability.

Constructor Summary

AccessConstructor and Description
public
PageRanges(int[][]
set members in array form
members
)

Construct a new page ranges attribute with the given members.

public
PageRanges(String
set members in string form
members
)

Construct a new page ranges attribute with the given members in string form.

public
PageRanges(int
set member
member
)

Construct a new page ranges attribute containing a single integer.

public
PageRanges(int
lower bound of the range
lowerBound
,
int
upper bound of the range
upperBound
)

Construct a new page ranges attribute containing a single range of integers.

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

true if object is equivalent to this page ranges attribute, false otherwise
equals
(Object
Object to compare to
object
)

Overrides javax.print.attribute.SetOfIntegerSyntax.equals.

Returns whether this page ranges attribute is equivalent to the passed in object.

public final Class<? extends Attribute>

Returns:

printing attribute class (category), an instance of class java.lang.Class
getCategory
()

Implements javax.print.attribute.Attribute.getCategory.

Get the printing attribute class which is to be used as the "category" for this printing attribute value.

public final String

Returns:

attribute category name
getName
()

Implements javax.print.attribute.Attribute.getName.

Get the name of the category of which this attribute value is an instance.

private void
myPageRanges()

Validates the page ranges.

Inherited from javax.print.attribute.SetOfIntegerSyntax:
containscontainsgetMembershashCodenexttoString

Field Detail

serialVersionUIDback to summary
private static final long serialVersionUID

Hides javax.print.attribute.SetOfIntegerSyntax.serialVersionUID.

Use serialVersionUID from JDK 1.4 for interoperability.

Annotations
@Serial

Constructor Detail

PageRangesback to summary
public PageRanges(int[][] members)

Construct a new page ranges attribute with the given members. The members are specified in "array form;" see class SetOfIntegerSyntax for an explanation of array form.

Parameters
members:int[][]

set members in array form

Exceptions
NullPointerException:
if members is null or any element of members is null
IllegalArgumentException:
if any element of members is not a length-one or length-two array. Also if members is a zero-length array or if any member of the set is less than 1.
PageRangesback to summary
public PageRanges(String members)

Construct a new page ranges attribute with the given members in string form. See class SetOfIntegerSyntax for explanation of the syntax.

Parameters
members:String

set members in string form

Exceptions
NullPointerException:
if members is null or any element of members is null
IllegalArgumentException:
if members does not obey the proper syntax. Also if the constructed set-of-integer is a zero-length array or if any member of the set is less than 1.
PageRangesback to summary
public PageRanges(int member)

Construct a new page ranges attribute containing a single integer. That is, only the one page is to be printed.

Parameters
member:int

set member

Exceptions
IllegalArgumentException:
if member < 1
PageRangesback to summary
public PageRanges(int lowerBound, int upperBound)

Construct a new page ranges attribute containing a single range of integers. That is, only those pages in the one range are to be printed.

Parameters
lowerBound:int

lower bound of the range

upperBound:int

upper bound of the range

Exceptions
IllegalArgumentException:
if a null range is specified or if a non-null range is specified with lowerBound less than 1

Method Detail

equalsback to summary
public boolean equals(Object object)

Overrides javax.print.attribute.SetOfIntegerSyntax.equals.

Returns whether this page ranges attribute is equivalent to the passed in object. To be equivalent, all of the following conditions must be true:

  1. object is not null.
  2. object is an instance of class PageRanges.
  3. This page ranges attribute's members and object's members are the same.
Parameters
object:Object

Object to compare to

Returns:boolean

true if object is equivalent to this page ranges attribute, false otherwise

getCategoryback to summary
public final Class<? extends Attribute> getCategory()

Implements javax.print.attribute.Attribute.getCategory.

Get the printing attribute class which is to be used as the "category" for this printing attribute value.

For class PageRanges, the category is class PageRanges itself.

Returns:Class<? extends Attribute>

printing attribute class (category), an instance of class java.lang.Class

getNameback to summary
public final String getName()

Implements javax.print.attribute.Attribute.getName.

Get the name of the category of which this attribute value is an instance.

For class PageRanges, the category name is "page-ranges".

Returns:String

attribute category name

myPageRangesback to summary
private void myPageRanges()

Validates the page ranges.