Class PrinterStateReasons
- 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 Summary
Nested classes/interfaces declared in class AbstractMap
AbstractMap.SimpleEntry<K,
V>, AbstractMap.SimpleImmutableEntry<K, V> Modifier and TypeClassDescriptionstatic class
An Entry maintaining a key and a value.static class
An unmodifiable Entry maintaining a key and a value. -
Constructor Summary
ConstructorsConstructorDescriptionConstruct 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-Severity
mappings as the given map. -
Method Summary
Modifier and TypeMethodDescriptionGet the printing attribute class which is to be used as the "category" for this printing attribute value.final String
getName()
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 thisPrinterStateReasons
attribute.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 HashMap
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, get, isEmpty, keySet, merge, newHashMap, putAll, remove, size, values
Modifier and TypeMethodDescriptionvoid
clear()
Removes all of the mappings from this map.clone()
Returns a shallow copy of thisHashMap
instance: the keys and values themselves are not cloned.compute
(PrinterStateReason key, BiFunction<? super PrinterStateReason, ? super Severity, ? extends Severity> remappingFunction) Attempts to compute a mapping for the specified key and its current mapped value, ornull
if there is no current mapping (optional operation).computeIfAbsent
(PrinterStateReason key, Function<? super PrinterStateReason, ? extends Severity> mappingFunction) If the specified key is not already associated with a value (or is mapped tonull
), attempts to compute its value using the given mapping function and enters it into this map unlessnull
(optional operation).computeIfPresent
(PrinterStateReason key, BiFunction<? super PrinterStateReason, ? super Severity, ? extends Severity> remappingFunction) If the value for the specified key is present and non-null, attempts to compute a new mapping given the key and its current mapped value (optional operation).boolean
containsKey
(Object key) Returnstrue
if this map contains a mapping for the specified key.boolean
containsValue
(Object value) Returnstrue
if this map maps one or more keys to the specified value.entrySet()
Returns aSet
view of the mappings contained in this map.Returns the value to which the specified key is mapped, ornull
if this map contains no mapping for the key.boolean
isEmpty()
Returnstrue
if this map contains no key-value mappings.keySet()
Returns aSet
view of the keys contained in this map.merge
(PrinterStateReason key, Severity value, BiFunction<? super Severity, ? super Severity, ? extends Severity> remappingFunction) If the specified key is not already associated with a value or is associated with null, associates it with the given non-null value (optional operation).static <K,
V> HashMap <K, V> newHashMap
(int numMappings) Creates a new, empty HashMap suitable for the expected number of mappings.void
putAll
(Map<? extends PrinterStateReason, ? extends Severity> m) Copies all of the mappings from the specified map to this map.Removes the mapping for the specified key from this map if present.int
size()
Returns the number of key-value mappings in this map.values()
Returns aCollection
view of the values contained in this map.Methods declared in class AbstractMap
equals, hashCode, toString
Methods declared in class Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Modifier and TypeMethodDescriptionprotected void
finalize()
Deprecated, for removal: This API element is subject to removal in a future version.Finalization is deprecated and subject to removal in a future release.final Class
<?> getClass()
Returns the runtime class of thisObject
.final void
notify()
Wakes up a single thread that is waiting on this object's monitor.final void
Wakes up all threads that are waiting on this object's monitor.final void
wait()
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.final void
wait
(long timeoutMillis) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.final void
wait
(long timeoutMillis, int nanos) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.Methods declared in interface Map
forEach, getOrDefault, putIfAbsent, remove, replace, replace, replaceAll
Modifier and TypeMethodDescriptiondefault void
forEach
(BiConsumer<? super PrinterStateReason, ? super Severity> action) Performs the given action for each entry in this map until all entries have been processed or the action throws an exception.default Severity
getOrDefault
(Object key, Severity defaultValue) Returns the value to which the specified key is mapped, ordefaultValue
if this map contains no mapping for the key.default Severity
putIfAbsent
(PrinterStateReason key, Severity value) If the specified key is not already associated with a value (or is mapped tonull
) associates it with the given value and returnsnull
, else returns the current value (optional operation).default boolean
Removes the entry for the specified key only if it is currently mapped to the specified value (optional operation).default Severity
replace
(PrinterStateReason key, Severity value) Replaces the entry for the specified key only if it is currently mapped to some value (optional operation).default boolean
replace
(PrinterStateReason key, Severity oldValue, Severity newValue) Replaces the entry for the specified key only if currently mapped to the specified value (optional operation).default void
replaceAll
(BiFunction<? super PrinterStateReason, ? super Severity, ? extends Severity> function) Replaces each entry's value with the result of invoking the given function on that entry until all entries have been processed or the function throws an exception (optional operation).
-
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
-
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
-