# Class HashPrintJobAttributeSet

java.lang.Object
javax.print.attribute.HashAttributeSet
javax.print.attribute.HashPrintJobAttributeSet

All Implemented Interfaces:
  `Serializable, AttributeSet, PrintJobAttributeSet`

public class HashPrintJobAttributeSet extends HashAttributeSet implements PrintJobAttributeSet, Serializable
Class `HashPrintJobAttributeSet` provides an attribute set which inherits its implementation from class `HashAttributeSet` and enforces the semantic restrictions of interface `PrintJobAttributeSet`.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `HashPrintJobAttributeSet()`
  Construct a new, empty hash print job attribute set.
  `HashPrintJobAttributeSet(PrintJobAttribute attribute)`
  Construct a new hash print job attribute set, initially populated with the given value.
  `HashPrintJobAttributeSet(PrintJobAttribute[] attributes)`
  Construct a new hash print job attribute set, initially populated with the values from the given array.
  `HashPrintJobAttributeSet(PrintJobAttributeSet attributes)`
  Construct a new attribute set, initially populated with the values from the given set where the members of the attribute set are restricted to the `PrintJobAttribute` interface.

- ## Method Summary

  ### Methods declared in class HashAttributeSet

  `add, addAll, clear, containsKey, containsValue, equals, get, hashCode, isEmpty, remove, remove, size, toArray`
  Modifier and Type
  Method
  Description
  `boolean`
  `add(Attribute attribute)`
  Adds the specified attribute to this attribute set if it is not already present, first removing any existing in the same attribute category as the specified attribute value.
  `boolean`
  `addAll(AttributeSet attributes)`
  Adds all of the elements in the specified set to this attribute.
  `void`
  `clear()`
  Removes all attributes from this attribute set.
  `boolean`
  `containsKey(Class<?> category)`
  Returns `true` if this attribute set contains an attribute for the specified category.
  `boolean`
  `containsValue(Attribute attribute)`
  Returns `true` if this attribute set contains the given attribute.
  `boolean`
  `equals(Object object)`
  Compares the specified object with this attribute set for equality.
  `Attribute`
  `get(Class<?> category)`
  Returns the attribute value which this attribute set contains in the given attribute category.
  `int`
  `hashCode()`
  Returns the hash code value for this attribute set.
  `boolean`
  `isEmpty()`
  Returns `true` if this attribute set contains no attributes.
  `boolean`
  `remove(Class<?> category)`
  Removes any attribute for this category from this attribute set if present.
  `boolean`
  `remove(Attribute attribute)`
  Removes the specified attribute from this attribute set if present.
  `int`
  `size()`
  Returns the number of attributes in this attribute set.
  `Attribute[]`
  `toArray()`
  Returns an array of the attributes contained in this set.

  ### Methods declared in class Object

  `clone, finalize, getClass, notify, notifyAll, toString, 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.
  `String`
  `toString()`
  Returns a string representation of the object.
  `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.

  ### Methods declared in interface PrintJobAttributeSet

  `add, addAll`
  Modifier and Type
  Method
  Description
  `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.

- ## Constructor Details

  - ### HashPrintJobAttributeSet

    public HashPrintJobAttributeSet()
    Construct a new, empty hash print job attribute set.

  - ### HashPrintJobAttributeSet

    public HashPrintJobAttributeSet(PrintJobAttribute attribute)
    Construct a new hash print job attribute set, initially populated with the given value.
    Parameters:
      `attribute` - attribute value to add to the set
    Throws:
      `NullPointerException` - if `attribute` is `null`

  - ### HashPrintJobAttributeSet

    public HashPrintJobAttributeSet(PrintJobAttribute[] attributes)
    Construct a new hash print job attribute set, initially populated with the values from the given array. The new attribute set is populated by adding the elements of `attributes` array to the set in sequence, starting at index 0. Thus, later array elements may replace earlier array elements if the array contains duplicate attribute values or attribute categories.
    Parameters:
      `attributes` - array of attribute values to add to the set. If `null`, an empty attribute set is constructed.
    Throws:
      `NullPointerException` - if any element of `attributes` is `null`

  - ### HashPrintJobAttributeSet

    public HashPrintJobAttributeSet(PrintJobAttributeSet attributes)
    Construct a new attribute set, initially populated with the values from the given set where the members of the attribute set are restricted to the `PrintJobAttribute` interface.
    Parameters:
      `attributes` - set of attribute values to initialise the set. If `null`, an empty attribute set is constructed.
    Throws:
      `ClassCastException` - if any element of `attributes` is not an instance of `PrintJobAttribute`