- All Implemented Interfaces:
Serializable
,Cloneable
,Map<PrinterStateReason,Severity>
,Attribute
,PrintServiceAttribute
public final class PrinterStateReasons extends HashMap<PrinterStateReason,Severity> implements 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:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces declared in class java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
-
Constructor Summary
Constructors Constructor Description PrinterStateReasons()
Construct 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.PrinterStateReasons(Map<PrinterStateReason,Severity> map)
Construct a new printer state reasons attribute that contains the samePrinterStateReason
-to-Severity
mappings as the given map. -
Method Summary
Modifier and Type Method Description 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.Set<PrinterStateReason>
printerStateReasonSet(Severity severity)
Obtain an unmodifiable set view of the individual printer state reason attributes at the given severity level in thisPrinterStateReasons
attribute.Severity
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.HashMap
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, get, isEmpty, keySet, merge, putAll, remove, size, values
Methods declared in class java.util.AbstractMap
equals, hashCode, toString
Methods declared in interface java.util.Map
equals, forEach, getOrDefault, hashCode, putIfAbsent, remove, replace, replace, replaceAll
-
Constructor Details
-
PrinterStateReasons
public PrinterStateReasons()Construct a new, empty printer state reasons attribute; the underlying hash map has the default initial capacity and load factor. -
PrinterStateReasons
public 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
-
PrinterStateReasons
public 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 capacityloadFactor
- load factor- Throws:
IllegalArgumentException
- if the initial capacity is negative
-
PrinterStateReasons
Construct a new printer state reasons attribute that contains the samePrinterStateReason
-to-Severity
mappings 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
- ifmap
isnull
or if any key or value inmap
isnull
ClassCastException
- if any key inmap
is not an instance of classPrinterStateReason
or if any value inmap
is not an instance of classSeverity
-
-
Method Details
-
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.- Specified by:
put
in interfaceMap<PrinterStateReason,Severity>
- Overrides:
put
in classHashMap<PrinterStateReason,Severity>
- Parameters:
reason
- printer state reason. This must be an instance of classPrinterStateReason
severity
- severity of the printer state reason. This must be an instance of classSeverity
- Returns:
- previous severity associated with the given printer state reason,
or
null
if the given printer state reason was not present - Throws:
NullPointerException
- ifreason
isnull
orseverity
isnull
ClassCastException
- ifreason
is not an instance of classPrinterStateReason
or ifseverity
is not an instance of classSeverity
- Since:
- 1.5
-
getCategory
Get the printing attribute class which is to be used as the "category" for this printing attribute value.For class
PrinterStateReasons
, the category is classPrinterStateReasons
itself.- Specified by:
getCategory
in interfaceAttribute
- Returns:
- printing attribute class (category), an instance of class
java.lang.Class
-
getName
Get the name of the category of which this attribute value is an instance.For class
PrinterStateReasons
, the category name is"printer-state-reasons"
. -
printerStateReasonSet
Obtain an unmodifiable set view of the individual printer state reason attributes at the given severity level in thisPrinterStateReasons
attribute. Each element in the set view is aPrinterStateReason
object. The only elements in the set view are thePrinterStateReason
objects that map to the given severity value. The set view is backed by thisPrinterStateReasons
attribute, so changes to thisPrinterStateReasons
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.- Parameters:
severity
- severity level- Returns:
- set view of the individual
PrinterStateReason
attributes at the givenSeverity
level - Throws:
NullPointerException
- ifseverity
isnull
-