javax.print.attribute

## Interface PrintJobAttributeSet

All Superinterfaces:
  AttributeSet

All Known Implementing Classes:
  HashPrintJobAttributeSet

    public interface PrintJobAttributeSet
    extends AttributeSet

Interface PrintJobAttributeSet specifies the interface for a set of print job attributes, i.e. printing attributes that implement interface `PrintJobAttribute`. In the Print Service API, a service uses a PrintJobAttributeSet to report the status of a print job.

A PrintJobAttributeSet is just an `AttributeSet` whose constructors and mutating operations guarantee an additional invariant, namely that all attribute values in the PrintJobAttributeSet must be instances of interface `PrintJobAttribute`. The `add(Attribute)`, and `>addAll(AttributeSet)` operations are respecified below to guarantee this additional invariant.

### Method Summary

All Methods Instance Methods Abstract Methods
`boolean` `add(Attribute attribute)` Adds the specified attribute value to this attribute set if it is not already present, first removing any existing value in the same attribute category as the specified attribute value (optional operation).
`boolean` `addAll(AttributeSet attributes)` Adds all of the elements in the specified set to this attribute.

### Methods inherited from interface javax.print.attribute.AttributeSet

`clear, containsKey, containsValue, equals, get, hashCode, isEmpty, remove, remove, size, toArray`

### Method Detail

#### add

    boolean add(Attribute attribute)

Adds the specified attribute value to this attribute set if it is not already present, first removing any existing value in the same attribute category as the specified attribute value (optional operation).

Specified by:
  `add` in interface `AttributeSet`
Parameters:
  `attribute` - Attribute value to be added to this attribute set.
Returns:
  `true` if this attribute set changed as a result of the call, i.e., the given attribute value was not already a member of this attribute set.
Throws:
  `UnmodifiableSetException` - (unchecked exception) Thrown if this attribute set does not support the `add()` operation.
  `ClassCastException` - (unchecked exception) Thrown if the `attribute` is not an instance of interface `PrintJobAttribute`.
  `NullPointerException` - (unchecked exception) Thrown if the `attribute` is null.

#### addAll

    boolean addAll(AttributeSet attributes)

Adds all of the elements in the specified set to this attribute. The outcome is the same as if the `add(Attribute)` operation had been applied to this attribute set successively with each element from the specified set. If none of the categories in the specified set are the same as any categories in this attribute set, the `addAll()` operation effectively modifies this attribute set so that its value is the union of the two sets.

The behavior of the `addAll()` operation is unspecified if the specified set is modified while the operation is in progress.

If the `addAll()` operation throws an exception, the effect on this attribute set's state is implementation dependent; elements from the specified set before the point of the exception may or may not have been added to this attribute set.

Specified by:
  `addAll` in interface `AttributeSet`
Parameters:
  `attributes` - whose elements are to be added to this attribute set.
Returns:
  `true` if this attribute set changed as a result of the call.
Throws:
  `UnmodifiableSetException` - (Unchecked exception) Thrown if this attribute set does not support the `addAll()` method.
  `ClassCastException` - (Unchecked exception) Thrown if some element in the specified set is not an instance of interface `PrintJobAttribute`.
  `NullPointerException` - (Unchecked exception) Thrown if the specified set is null.
See Also:
  `add(Attribute)`