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

## Class PrinterLocation

- java.lang.Object
- - javax.print.attribute.TextSyntax
  - - javax.print.attribute.standard.PrinterLocation

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

      public final class PrinterLocation
      extends TextSyntax
      implements PrintServiceAttribute

  Class PrinterLocation is a printing attribute class, a text attribute, that identifies the location of the device. This could include things like: `"in Room 123A, second floor of building XYZ"`.

  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
    --- | ---
    `PrinterLocation​(String location, Locale locale)` | Constructs a new printer location attribute with the given location and locale.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `equals​(Object object)` | Returns whether this printer location attribute is equivalent to the passed in object.
    `Class<? extends Attribute>` | `getCategory​()` | Get the printing attribute class which is to be used as the "category" for this printing attribute value.
    `String` | `getName​()` | Get the name of the category of which this attribute value is an instance.

    - ### Methods inherited from class java.lang.Object

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

    - ### Methods inherited from class javax.print.attribute.TextSyntax

      `getLocale, getValue, hashCode, toString`

- - ### Constructor Detail

    - #### PrinterLocation

          public PrinterLocation​(String location,
                                 Locale locale)

      Constructs a new printer location attribute with the given location and locale.
      Parameters:
        `location` - Printer location.
        `locale` - Natural language of the text string. null is interpreted to mean the default locale as returned by `Locale.getDefault()`
      Throws:
        `NullPointerException` - (unchecked exception) Thrown if `location` is null.

  - ### Method Detail

    - #### equals

          public boolean equals​(Object object)

      Returns whether this printer location 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 PrinterLocation.
      3. This printer location attribute's underlying string and `object`'s underlying string are equal.
      4. This printer location 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 printer location 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 PrinterLocation, the category is class PrinterLocation 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 PrinterLocation, the category name is `"printer-location"`.

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