# Class PrinterURI

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

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

public final class PrinterURI extends URISyntax implements PrintServiceAttribute
Class `PrinterURI` is a printing attribute class, a `URI`, that specifies the globally unique name of a printer. If it has such a name, an administrator determines a printer's `URI` and sets this attribute to that name.

IPP Compatibility: This implements the IPP printer-uri attribute. The string form returned by `toString()` gives the IPP printer-uri value. The category name returned by `getName()` gives the IPP attribute name.

See Also:
  - Serialized Form

- ## Constructor Summary

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

- ## Method Summary

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

  `getURI, hashCode, toString`
  Modifier and Type
  Method
  Description
  `URI`
  `getURI()`
  Returns this `URI` attribute's `URI` value.
  `int`
  `hashCode()`
  Returns a hashcode for this `URI` attribute.
  `String`
  `toString()`
  Returns a `String` identifying this `URI` 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

  - ### PrinterURI

    public PrinterURI(URI uri)
    Constructs a new `PrinterURI` attribute with the specified `URI`.
    Parameters:
      `uri` - `URI` of the printer
    Throws:
      `NullPointerException` - if `uri` is `null`

- ## Method Details

  - ### equals

    public boolean equals(Object object)
    Returns whether this printer 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 `PrinterURI`.
    3. This `PrinterURI` attribute's underlying `URI` and `object`'s underlying `URI` are equal.
    Overrides:
      `equals` in class `URISyntax`
    Parameters:
      `object` - `Object` to compare to
    Returns:
      `true` if `object` is equivalent to this `PrinterURI` 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 `PrinterURI` and any vendor-defined subclasses, the category is class `PrinterURI` 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 `PrinterURI` and any vendor-defined subclasses, the category name is `"printer-uri"`.

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