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

# Class Media

java.lang.Object
javax.print.attribute.EnumSyntax
javax.print.attribute.standard.Media

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

Direct Known Subclasses:
  `MediaName`, `MediaSizeName`, `MediaTray`

public abstract class Media extends EnumSyntax implements DocAttribute, PrintRequestAttribute, PrintJobAttribute
Class `Media` is a printing attribute class that specifies the medium on which to print.

Media may be specified in different ways.

- it may be specified by paper source - eg paper tray
- it may be specified by a standard size - eg "A4"
- it may be specified by a name - eg "letterhead"

Each of these corresponds to the IPP "media" attribute. The current API does not support describing media by characteristics (eg colour, opacity). This may be supported in a later revision of the specification.

A `Media` object is constructed with a value which represents one of the ways in which the Media attribute can be specified.

IPP Compatibility: The category name returned by `getName()` is the IPP attribute name. The enumeration's integer value is the IPP enum value. The `toString()` method returns the IPP string representation of the attribute value.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `Media(int value)`
  Constructs a new media attribute specified by name.

- ## Method Summary

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

  `clone, getEnumValueTable, getOffset, getStringTable, getValue, hashCode, readResolve, toString`

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

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

- ## Constructor Details

  - ### Media

    protected Media(int value)
    Constructs a new media attribute specified by name.
    Parameters:
      `value` - a value

- ## Method Details

  - ### equals

    public boolean equals(Object object)
    Returns whether this media 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 of the same subclass of `Media` as this object.
    3. The values are equal.
    Overrides:
      `equals` in class `Object`
    Parameters:
      `object` - `Object` to compare to
    Returns:
      `true` if `object` is equivalent to this media 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 `Media` and any vendor-defined subclasses, the category is class `Media` 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 `Media` and any vendor-defined subclasses, the category name is `"media"`.

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