- All Implemented Interfaces:
- Serializable,- Cloneable,- Map<PrinterStateReason,,- Severity> - Attribute,- PrintServiceAttribute
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.
 
 Class PrinterStateReasons inherits its implementation from class
 java.util.HashMap. Each entry in the map consists of a
 PrinterStateReason object (key) mapping to a
 Severity object (value):
 
 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.
- See Also:
- 
Nested Class SummaryNested classes/interfaces declared in class java.util.AbstractMapAbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K, V> 
- 
Constructor SummaryConstructorsConstructorDescriptionConstruct a new, empty printer state reasons attribute; the underlying hash map has the default initial capacity and load factor.PrinterStateReasons(int initialCapacity) Construct a new, empty printer state reasons attribute; the underlying hash map has the given initial capacity and the default load factor.PrinterStateReasons(int initialCapacity, float loadFactor) Construct a new, empty printer state reasons attribute; the underlying hash map has the given initial capacity and load factor.Construct a new printer state reasons attribute that contains the samePrinterStateReason-to-Severitymappings as the given map.
- 
Method SummaryModifier and TypeMethodDescriptionGet the printing attribute class which is to be used as the "category" for this printing attribute value.final StringgetName()Get the name of the category of which this attribute value is an instance.printerStateReasonSet(Severity severity) Obtain an unmodifiable set view of the individual printer state reason attributes at the given severity level in thisPrinterStateReasonsattribute.put(PrinterStateReason reason, Severity severity) Adds the given printer state reason to this printer state reasons attribute, associating it with the given severity level.Methods declared in class java.util.HashMapclear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, get, isEmpty, keySet, merge, putAll, remove, size, valuesMethods declared in class java.util.AbstractMapequals, hashCode, toStringMethods declared in interface java.util.Mapequals, forEach, getOrDefault, hashCode, putIfAbsent, remove, replace, replace, replaceAll
- 
Constructor Details- 
PrinterStateReasonspublic PrinterStateReasons()Construct a new, empty printer state reasons attribute; the underlying hash map has the default initial capacity and load factor.
- 
PrinterStateReasonspublic PrinterStateReasons(int initialCapacity) Construct a new, empty printer state reasons attribute; the underlying hash map has the given initial capacity and the default load factor.- Parameters:
- initialCapacity- initial capacity
- Throws:
- IllegalArgumentException- if the initial capacity is negative
 
- 
PrinterStateReasonspublic PrinterStateReasons(int initialCapacity, float loadFactor) Construct a new, empty printer state reasons attribute; the underlying hash map has the given initial capacity and load factor.- Parameters:
- initialCapacity- initial capacity
- loadFactor- load factor
- Throws:
- IllegalArgumentException- if the initial capacity is negative
 
- 
PrinterStateReasonsConstruct a new printer state reasons attribute that contains the samePrinterStateReason-to-Severitymappings as the given map. The underlying hash map's initial capacity and load factor are as specified in the superclass constructorHashMap(Map).- Parameters:
- map- map to copy
- Throws:
- NullPointerException- if- mapis- nullor if any key or value in- mapis- null
- ClassCastException- if any key in- mapis not an instance of class- PrinterStateReasonor if any value in- mapis not an instance of class- Severity
 
 
- 
- 
Method Details- 
putAdds 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.- Specified by:
- putin interface- Map<PrinterStateReason,- Severity> 
- Overrides:
- putin class- HashMap<PrinterStateReason,- Severity> 
- Parameters:
- reason- printer state reason. This must be an instance of class- PrinterStateReason
- severity- severity of the printer state reason. This must be an instance of class- Severity
- Returns:
- previous severity associated with the given printer state reason,
         or nullif the given printer state reason was not present
- Throws:
- NullPointerException- if- reasonis- nullor- severityis- null
- ClassCastException- if- reasonis not an instance of class- PrinterStateReasonor if- severityis not an instance of class- Severity
- Since:
- 1.5
 
- 
getCategoryGet the printing attribute class which is to be used as the "category" for this printing attribute value.For class PrinterStateReasons, the category is classPrinterStateReasonsitself.- Specified by:
- getCategoryin interface- Attribute
- Returns:
- printing attribute class (category), an instance of class
         java.lang.Class
 
- 
getNameGet the name of the category of which this attribute value is an instance.For class PrinterStateReasons, the category name is"printer-state-reasons".
- 
printerStateReasonSetObtain an unmodifiable set view of the individual printer state reason attributes at the given severity level in thisPrinterStateReasonsattribute. Each element in the set view is aPrinterStateReasonobject. The only elements in the set view are thePrinterStateReasonobjects that map to the given severity value. The set view is backed by thisPrinterStateReasonsattribute, so changes to thisPrinterStateReasonsattribute 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.- Parameters:
- severity- severity level
- Returns:
- set view of the individual
         PrinterStateReasonattributes at the givenSeveritylevel
- Throws:
- NullPointerException- if- severityis- null
 
 
-