# Class JobKOctetsProcessed

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

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

public final class JobKOctetsProcessed extends IntegerSyntax implements PrintJobAttribute
Class `JobKOctetsProcessed` is an integer valued printing attribute class that specifies the total number of print data octets processed so far in K octets, i.e., in units of 1024 octets. The value must be rounded up, so that a job between 1 and 1024 octets inclusive must be indicated as being 1K octets, 1025 to 2048 inclusive must be 2K, etc. For a multidoc print job (a job with multiple documents), the JobKOctetsProcessed value is computed by adding up the individual documents' number of octets processed so far, then rounding up to the next K octets value.

The `JobKOctetsProcessed` attribute describes the progress of the job. This attribute is intended to be a counter. That is, the JobKOctetsProcessed value for a job that has not started processing must be 0. When the job's `JobState` is `PROCESSING` or `PROCESSING_STOPPED`, the `JobKOctetsProcessed` value is intended to increase as the job is processed; it indicates the amount of the job that has been processed at the time the Print Job's attribute set is queried or at the time a print job event is reported. When the job enters the `COMPLETED`, `CANCELED`, or `ABORTED` states, the `JobKOctetsProcessed` value is the final value for the job.

For implementations where multiple copies are produced by the interpreter with only a single pass over the data, the final value of the JobKOctetsProcessed attribute must be equal to the value of the `JobKOctets` attribute. For implementations where multiple copies are produced by the interpreter by processing the data for each copy, the final value must be a multiple of the value of the `JobKOctets` attribute.

IPP Compatibility: The integer value gives the IPP integer value. The category name returned by `getName()` gives the IPP attribute name.

See Also:
  - `JobKOctets`
  - `JobKOctetsSupported`
  - `JobImpressionsCompleted`
  - `JobMediaSheetsCompleted`
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JobKOctetsProcessed(int value)`
  Construct a new job K octets processed attribute with the given integer value.

- ## Method Summary

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

  `getValue, hashCode, toString`
  Modifier and Type
  Method
  Description
  `int`
  `getValue()`
  Returns this integer attribute's integer value.
  `int`
  `hashCode()`
  Returns a hash code value for this integer attribute.
  `String`
  `toString()`
  Returns a string value corresponding to this integer attribute.

  ### Methods declared in class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### JobKOctetsProcessed

    public JobKOctetsProcessed(int value)
    Construct a new job K octets processed attribute with the given integer value.
    Parameters:
      `value` - Integer value
    Throws:
      `IllegalArgumentException` - if `value` is negative

- ## Method Details

  - ### equals

    public boolean equals(Object object)
    Returns whether this job K octets processed 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 `JobKOctetsProcessed`.
    3. This job K octets processed 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 K octets processed 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 `JobKOctetsProcessed`, the category is class `JobKOctetsProcessed` 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 `JobKOctetsProcessed`, the category name is `"job-k-octets-processed"`.

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