CopiesSupported (Java SE 17 & JDK 17)
Description: declaration: module: java.desktop, package: javax.print.attribute.standard, class: CopiesSupported
Keywords: javax.print.attribute.standard.CopiesSupported class

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