Class PrinterStateReasons is a printing attribute class, a set of
enumeration values, that provides additional information about the
printer's current state, i.e., information that augments the value of the
printer's PrinterState attribute.

Instances of PrinterStateReason do not appear in
a Print Service's attribute set directly. Rather, a PrinterStateReasons
attribute appears in the Print Service's attribute set. The
PrinterStateReasons attribute contains zero, one, or more than one PrinterStateReason objects which pertain to the Print
Service's status, and each PrinterStateReason
object is associated with a Severity level of REPORT
(least severe), WARNING, or ERROR (most severe). The printer adds a PrinterStateReason object to the Print Service's
PrinterStateReasons attribute when the corresponding condition becomes true
of the printer, and the printer removes the PrinterStateReason object again when the corresponding condition becomes
false, regardless of whether the Print Service's overall
PrinterState also changed.

Unlike most printing attributes which are immutable once constructed, class
PrinterStateReasons is designed to be mutable; you can add PrinterStateReason objects to an existing
PrinterStateReasons object and remove them again. However, like class
java.util.HashMap, class PrinterStateReasons is
not multiple thread safe. If a PrinterStateReasons object will be used by
multiple threads, be sure to synchronize its operations (e.g., using a
synchronized map view obtained from class java.util.Collections).

IPP Compatibility: The string values returned by each individual
PrinterStateReason object's and the associated
Severity object's toString() methods,
concatenated
together with a hyphen ("-") in between, gives the IPP keyword
value. The category name returned by getName() gives the IPP
attribute name.

PrinterStateReasons

Construct a new printer state reasons attribute that contains the same
PrinterStateReason-to-Severity mappings as the given map. The underlying hash map's initial
capacity and load factor are as specified in the superclass constructor
HashMap(Map).

Parameters:

map - Map to copy.

Throws:

NullPointerException - (unchecked exception) Thrown if map is null or if any
key or value in map is null.

Method Detail

put

Adds the given printer state reason to this printer state reasons
attribute, associating it with the given severity level. If this
printer state reasons attribute previously contained a mapping for the
given printer state reason, the old value is replaced.

printerStateReasonSet

Obtain an unmodifiable set view of the individual printer state reason
attributes at the given severity level in this PrinterStateReasons
attribute. Each element in the set view is a PrinterStateReason object. The only elements in the set view are the
PrinterStateReason objects that map to the
given severity value. The set view is backed by this
PrinterStateReasons attribute, so changes to this PrinterStateReasons
attribute are reflected in the set view.
The set view does not support element insertion or
removal. The set view's iterator does not support element removal.