public final class PrinterStateReasons extends HashMap<PrinterStateReason,Severity> implements PrintServiceAttribute
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.
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
Constructor and 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)
super 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 same
PrinterStateReason -to-Severity mappings as the given map. |
Modifier and Type | Method and 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 this PrinterStateReasons
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.
|
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
equals, hashCode, toString
public PrinterStateReasons()
public PrinterStateReasons(int initialCapacity)
initialCapacity
- Initial capacity.IllegalArgumentException
- if the initial capacity is less
than zero.public PrinterStateReasons(int initialCapacity, float loadFactor)
initialCapacity
- Initial capacity.loadFactor
- Load factor.IllegalArgumentException
- if the initial capacity is less
than zero.public PrinterStateReasons(Map<PrinterStateReason,Severity> map)
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)
.map
- Map to copy.NullPointerException
- (unchecked exception) Thrown if map
is null or if any
key or value in map
is null.ClassCastException
- (unchecked exception) Thrown if any key in map
is not
an instance of class PrinterStateReason
or
if any value in map
is not an instance of class
Severity
.public Severity put(PrinterStateReason reason, Severity severity)
put
in interface Map<PrinterStateReason,Severity>
put
in class HashMap<PrinterStateReason,Severity>
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
.NullPointerException
- (unchecked exception) Thrown if reason
is null or
severity
is null.ClassCastException
- (unchecked exception) Thrown if reason
is not an
instance of class PrinterStateReason
or if
severity
is not an instance of class Severity
.public final Class<? extends Attribute> getCategory()
For class PrinterStateReasons, the category is class PrinterStateReasons itself.
getCategory
in interface Attribute
java.lang.Class
.public final String getName()
For class PrinterStateReasons, the
category name is "printer-state-reasons"
.
public Set<PrinterStateReason> printerStateReasonSet(Severity severity)
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.severity
- Severity level.PrinterStateReason
attributes at the given Severity
level.NullPointerException
- (unchecked exception) Thrown if severity
is null. Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.