# Class DocumentName

java.lang.Object
javax.print.attribute.TextSyntax
javax.print.attribute.standard.DocumentName

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

public final class DocumentName extends TextSyntax implements DocAttribute
Class `DocumentName` is a printing attribute class, a text attribute, that specifies the name of a document. `DocumentName` is an attribute of the print data (the doc), not of the Print Job. A document's name is an arbitrary string defined by the client. However if a JobName is not specified, the `DocumentName` should be used instead, which implies that supporting specification of `DocumentName` requires reporting of JobName and vice versa. See `JobName` for more information.

IPP Compatibility: The string value gives the IPP name value. The locale gives the IPP natural language. The category name returned by `getName()` gives the IPP attribute name.

See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`DocumentName(String documentName, Locale locale)`
Constructs a new document name attribute with the given document name and locale.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object object)`
Returns whether this document name 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 TextSyntax

`getLocale, getValue, hashCode, toString`
Modifier and Type
Method
Description
`Locale`
`getLocale()`
Returns this text attribute's text string's natural language (locale).
`String`
`getValue()`
Returns this text attribute's text string.
`int`
`hashCode()`
Returns a hashcode for this text attribute.
`String`
`toString()`
Returns a `String` identifying this text 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

### DocumentName

public DocumentName(String documentName, Locale locale)
Constructs a new document name attribute with the given document name and locale.

Parameters:
  `documentName` - document name
  `locale` - natural language of the text string. `null` is interpreted to mean the default locale as returned by `Locale.getDefault()`
Throws:
  `NullPointerException` - if `documentName` is `null`

## Method Details

### equals

public boolean equals(Object object)
Returns whether this document name 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 `DocumentName`.
3. This document name attribute's underlying string and `object`'s underlying string are equal.
4. This document name attribute's locale and `object`'s locale are equal.

Overrides:
  `equals` in class `TextSyntax`
Parameters:
  `object` - `Object` to compare to
Returns:
  `true` if `object` is equivalent to this document name 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 `DocumentName`, the category is class `DocumentName` 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 `DocumentName`, the category name is `"document-name"`.

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