is a printing attribute class, an enumeration, that provides additional information about the printer's current state, i.e., information that augments the value of the printer's
attribute. Class PrinterStateReason defines standard printer state reason values. A Print Service implementation only needs to report those printer state reasons which are appropriate for the particular implementation; it does not have to report every defined printer state reason.
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),
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.
IPP Compatibility: The string values returned by each individual
PrinterStateReason and associated
toString() methods, concatenated together with a hyphen (
"-") in between, gives the IPP keyword value for a
PrinterStateReasons. The category name returned by
getName() gives the IPP attribute name.