# Class HashDocAttributeSet

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

All Implemented Interfaces:
  `Serializable, AttributeSet, DocAttributeSet`

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

See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`HashDocAttributeSet()`
Construct a new, empty hash doc attribute set.
`HashDocAttributeSet(DocAttribute attribute)`
Construct a new hash doc attribute set, initially populated with the given value.
`HashDocAttributeSet(DocAttribute[] attributes)`
Construct a new hash doc attribute set, initially populated with the values from the given array.
`HashDocAttributeSet(DocAttributeSet 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 `DocAttribute` 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 DocAttributeSet

`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

### HashDocAttributeSet

public HashDocAttributeSet()
Construct a new, empty hash doc attribute set.

### HashDocAttributeSet

public HashDocAttributeSet(DocAttribute attribute)
Construct a new hash doc attribute set, initially populated with the given value.

Parameters:
  `attribute` - attribute value to add to the set
Throws:
  `NullPointerException` - if `attribute` is `null`

### HashDocAttributeSet

public HashDocAttributeSet(DocAttribute[] attributes)
Construct a new hash doc 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`

### HashDocAttributeSet

public HashDocAttributeSet(DocAttributeSet 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 `DocAttribute` 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 `DocAttribute`