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

# Class JobPriority

java.lang.Object
javax.print.attribute.IntegerSyntax
javax.print.attribute.standard.JobPriority

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Attribute`, `PrintJobAttribute`, `PrintRequestAttribute`

public final class JobPriority extends IntegerSyntax implements PrintRequestAttribute, PrintJobAttribute
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.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JobPriority(int value)`
  Construct a new job priority attribute with the given integer value.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object object)`
  Returns whether this job priority 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.IntegerSyntax

  `getValue, hashCode, toString`

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

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

- ## Constructor Details

  - ### JobPriority

    public JobPriority(int value)
    Construct a new job priority attribute with the given integer value.
    Parameters:
      `value` - Integer value
    Throws:
      `IllegalArgumentException` - if `value` is less than 1 or greater than 100

- ## Method Details

  - ### equals

    public boolean equals(Object object)
    Returns whether this job priority 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 `JobPriority`.
    3. This job priority attribute's value and `object`'s value are equal.
    Overrides:
      `equals` in class `IntegerSyntax`
    Parameters:
      `object` - `Object` to compare to
    Returns:
      `true` if `object` is equivalent to this job priority 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 `JobPriority`, the category is class `JobPriority` 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 `JobPriority`, the category name is `"job-priority"`.

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