Module java.desktop
Package javax.print.attribute.standard

# Class CopiesSupported

java.lang.Object
javax.print.attribute.SetOfIntegerSyntax
javax.print.attribute.standard.CopiesSupported

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Attribute`, `SupportedValuesAttribute`

public final class CopiesSupported extends SetOfIntegerSyntax implements SupportedValuesAttribute
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.

See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`CopiesSupported(int member)`
Construct a new copies supported attribute containing a single integer.
`CopiesSupported(int lowerBound, int upperBound)`
Construct a new copies supported attribute containing a single range of integers.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object object)`
Returns whether this copies supported attribute is equivalent to the passed in object.
`final Class<? extends Attribute>`
`getCategory()`
Get the printing attribute class which is to be used as the "category" for this printing attribute value.
`final String`
`getName()`
Get the name of the category of which this attribute value is an instance.

### Methods declared in class javax.print.attribute.SetOfIntegerSyntax

`contains, contains, getMembers, hashCode, next, toString`

### Methods declared in class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### CopiesSupported

public CopiesSupported(int member)
Construct a new copies supported attribute containing a single integer. That is, only the one value of `Copies` is supported.

Parameters:
  `member` - set member
Throws:
  `IllegalArgumentException` - if `member < 1`

### CopiesSupported

public CopiesSupported(int lowerBound, int upperBound)
Construct a new copies supported attribute containing a single range of integers. That is, only those values of `Copies` in the one range are supported.

Parameters:
  `lowerBound` - Lower bound of the range
  `upperBound` - Upper bound of the range
Throws:
  `IllegalArgumentException` - if a `null` range is specified or if a `non-null` range is specified with `lowerBound` less than 1

## Method Details

### equals

public boolean equals(Object object)
Returns whether this copies supported 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 `CopiesSupported`.
3. This copies supported attribute's members and `object`'s members are the same.

Overrides:
  `equals` in class `SetOfIntegerSyntax`
Parameters:
  `object` - `Object` to compare to
Returns:
  `true` if `object` is equivalent to this copies supported attribute, `false` otherwise
See Also:
  - `Object.hashCode()`
  - `HashMap`

### getCategory

public final Class<? extends Attribute> getCategory()
Get the printing attribute class which is to be used as the "category" for this printing attribute value.

For class `CopiesSupported`, the category is class `CopiesSupported` itself.

Specified by:
  `getCategory` in interface `Attribute`
Returns:
  printing attribute class (category), an instance of class `java.lang.Class`

### getName

public final String getName()
Get the name of the category of which this attribute value is an instance.

For class `CopiesSupported`, the category name is `"copies-supported"`.

Specified by:
  `getName` in interface `Attribute`
Returns:
  attribute category name