Module java.desktop
Package javax.print.attribute.standard

# Class Destination

java.lang.Object
javax.print.attribute.URISyntax
javax.print.attribute.standard.Destination

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

public final class Destination extends URISyntax implements PrintJobAttribute, PrintRequestAttribute
Class `Destination` is a printing attribute class, a `URI`, that is used to indicate an alternate destination for the spooled printer formatted data. Many `PrintServices` will not support the notion of a destination other than the printer device, and so will not support this attribute.

A common use for this attribute will be applications which want to redirect output to a local disk file : eg."file:out.prn". Note that proper construction of "file:" scheme `URI` instances should be performed using the `toURI()` method of class `File`. See the documentation on that class for more information.

If a destination `URI` is specified in a PrintRequest and it is not accessible for output by the `PrintService`, a `PrintException` will be thrown. The `PrintException` may implement `URIException` to provide a more specific cause.

IPP Compatibility: Destination is not an IPP attribute.

See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`Destination(URI uri)`
Constructs a new destination attribute with the specified `URI`.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object object)`
Returns whether this destination 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 javax.print.attribute.URISyntax

`getURI, hashCode, toString`

### Methods declared in class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### Destination

public Destination(URI uri)
Constructs a new destination attribute with the specified `URI`.

Parameters:
  `uri` - `URI`
Throws:
  `NullPointerException` - if `uri` is `null`

## Method Details

### equals

public boolean equals(Object object)
Returns whether this destination 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 `Destination`.
3. This destination attribute's `URI` and `object`'s `URI` are equal.

Overrides:
  `equals` in class `URISyntax`
Parameters:
  `object` - `Object` to compare to
Returns:
  `true` if `object` is equivalent to this destination 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 `Destination`, the category is class `Destination` 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 `Destination`, the category name is `"spool-data-destination"`.

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