JobState (Java Platform SE 8 )
Keywords: javax.print.attribute.standard.JobState class
Date: 2026-04-17

javax.print.attribute.standard

## Class JobState

- java.lang.Object
- - javax.print.attribute.EnumSyntax
  - - javax.print.attribute.standard.JobState

- All Implemented Interfaces:
    Serializable, Cloneable, Attribute, PrintJobAttribute

      public class JobState
      extends EnumSyntax
      implements PrintJobAttribute

  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.

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static JobState` | `ABORTED` The job has been aborted by the system (usually while the job was in the PROCESSING or PROCESSING_STOPPED state), the printer has completed aborting the job, and all job status attributes have reached their final values for the job.
    `static JobState` | `CANCELED` The job has been canceled by some human agency, the printer has completed canceling the job, and all job status attributes have reached their final values for the job.
    `static JobState` | `COMPLETED` The job has completed successfully or with warnings or errors after processing, all of the job media sheets have been successfully stacked in the appropriate output bin(s), and all job status attributes have reached their final values for the job.
    `static JobState` | `PENDING` The job is a candidate to start processing, but is not yet processing.
    `static JobState` | `PENDING_HELD` The job is not a candidate for processing for any number of reasons but will return to the PENDING state as soon as the reasons are no longer present.
    `static JobState` | `PROCESSING` The job is processing.
    `static JobState` | `PROCESSING_STOPPED` The job has stopped while processing for any number of reasons and will return to the PROCESSING state as soon as the reasons are no longer present.
    `static JobState` | `UNKNOWN` The job state is unknown.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `JobState(int value)` Construct a new job state enumeration value with the given integer value.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Class<? extends Attribute>` | `getCategory()` Get the printing attribute class which is to be used as the "category" for this printing attribute value.
    `protected EnumSyntax[]` | `getEnumValueTable()` Returns the enumeration value table for class JobState.
    `String` | `getName()` Get the name of the category of which this attribute value is an instance.
    `protected String[]` | `getStringTable()` Returns the string table for class JobState.

    - ### Methods inherited from class javax.print.attribute.EnumSyntax

      `clone, getOffset, getValue, hashCode, readResolve, toString`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### UNKNOWN

          public static final JobState UNKNOWN

      The job state is unknown.

    - #### PENDING

          public static final JobState PENDING

      The job is a candidate to start processing, but is not yet processing.

    - #### PENDING_HELD

          public static final JobState PENDING_HELD

      The job is not a candidate for processing for any number of reasons but will return to the PENDING state as soon as the reasons are no longer present. The job's `JobStateReasons` attribute must indicate why the job is no longer a candidate for processing.

    - #### PROCESSING

          public static final JobState PROCESSING

      The job is processing. One or more of the following activities is occurring:
      1. The job is using, or is attempting to use, one or more purely software processes that are analyzing, creating, or interpreting a PDL, etc.

      2. The job is using, or is attempting to use, one or more hardware devices that are interpreting a PDL, making marks on a medium, and/or performing finishing, such as stapling, etc.

      3. The printer has made the job ready for printing, but the output device is not yet printing it, either because the job hasn't reached the output device or because the job is queued in the output device or some other spooler, awaiting the output device to print it.

      When the job is in the PROCESSING state, the entire job state includes the detailed status represented in the printer's `PrinterState` and `PrinterStateReasons` attributes.

      Implementations may, though they need not, include additional values in the job's `JobStateReasons` attribute to indicate the progress of the job, such as adding the JOB_PRINTING value to indicate when the output device is actually making marks on paper and/or the PROCESSING_TO_STOP_POINT value to indicate that the printer is in the process of canceling or aborting the job.

    - #### PROCESSING_STOPPED

          public static final JobState PROCESSING_STOPPED

      The job has stopped while processing for any number of reasons and will return to the PROCESSING state as soon as the reasons are no longer present.

      The job's `JobStateReasons` attribute may indicate why the job has stopped processing. For example, if the output device is stopped, the PRINTER_STOPPED value may be included in the job's `JobStateReasons` attribute.

      Note: When an output device is stopped, the device usually indicates its condition in human readable form locally at the device. A client can obtain more complete device status remotely by querying the printer's `PrinterState` and `PrinterStateReasons` attributes.

    - #### CANCELED

          public static final JobState CANCELED

      The job has been canceled by some human agency, the printer has completed canceling the job, and all job status attributes have reached their final values for the job. While the printer is canceling the job, the job remains in its current state, but the job's `JobStateReasons` attribute should contain the PROCESSING_TO_STOP_POINT value and one of the CANCELED_BY_USER, CANCELED_BY_OPERATOR, or CANCELED_AT_DEVICE values. When the job moves to the CANCELED state, the PROCESSING_TO_STOP_POINT value, if present, must be removed, but the CANCELED_BY_xxx value, if present, must remain.

    - #### ABORTED

          public static final JobState ABORTED

      The job has been aborted by the system (usually while the job was in the PROCESSING or PROCESSING_STOPPED state), the printer has completed aborting the job, and all job status attributes have reached their final values for the job. While the printer is aborting the job, the job remains in its current state, but the job's `JobStateReasons` attribute should contain the PROCESSING_TO_STOP_POINT and ABORTED_BY_SYSTEM values. When the job moves to the ABORTED state, the PROCESSING_TO_STOP_POINT value, if present, must be removed, but the ABORTED_BY_SYSTEM value, if present, must remain.

    - #### COMPLETED

          public static final JobState COMPLETED

      The job has completed successfully or with warnings or errors after processing, all of the job media sheets have been successfully stacked in the appropriate output bin(s), and all job status attributes have reached their final values for the job. The job's `JobStateReasons` attribute should contain one of these values: COMPLETED_SUCCESSFULLY, COMPLETED_WITH_WARNINGS, or COMPLETED_WITH_ERRORS.

  - ### Constructor Detail

    - #### JobState

          protected JobState(int value)

      Construct a new job state enumeration value with the given integer value.
      Parameters:
        `value` - Integer value.

  - ### Method Detail

    - #### getStringTable

          protected String[] getStringTable()

      Returns the string table for class JobState.
      Overrides:
        `getStringTable` in class `EnumSyntax`
      Returns:
        the string table

    - #### getEnumValueTable

          protected EnumSyntax[] getEnumValueTable()

      Returns the enumeration value table for class JobState.
      Overrides:
        `getEnumValueTable` in class `EnumSyntax`
      Returns:
        the value table

    - #### 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 JobState and any vendor-defined subclasses, the category is class JobState 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 JobState and any vendor-defined subclasses, the category name is `"job-state"`.

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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.