- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.HashMap<PrinterStateReason,Severity>
-
- javax.print.attribute.standard.PrinterStateReasons
-
- All Implemented Interfaces:
Serializable,Cloneable,Map<PrinterStateReason,Severity>,Attribute,PrintServiceAttribute
public final class PrinterStateReasons extends HashMap<PrinterStateReason,Severity> implements PrintServiceAttribute
ClassPrinterStateReasonsis 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'sPrinterStateattribute.Instances of
PrinterStateReasondo not appear in a Print Service's attribute set directly. Rather, aPrinterStateReasonsattribute appears in the Print Service's attribute set. ThePrinterStateReasonsattribute contains zero, one, or more than onePrinterStateReasonobjects which pertain to the Print Service's status, and eachPrinterStateReasonobject is associated with aSeveritylevel ofREPORT(least severe),WARNING, orERROR(most severe). The printer adds aPrinterStateReasonobject to the Print Service'sPrinterStateReasonsattribute when the corresponding condition becomes true of the printer, and the printer removes thePrinterStateReasonobject again when the corresponding condition becomes false, regardless of whether the Print Service's overallPrinterStatealso changed.Class PrinterStateReasons inherits its implementation from class
java.util.HashMap. Each entry in the map consists of aPrinterStateReasonobject (key) mapping to aSeverityobject (value):Unlike most printing attributes which are immutable once constructed, class
PrinterStateReasonsis designed to be mutable; you can addPrinterStateReasonobjects to an existingPrinterStateReasonsobject and remove them again. However, like classjava.util.HashMap, classPrinterStateReasonsis not multiple thread safe. If aPrinterStateReasonsobject will be used by multiple threads, be sure to synchronize its operations (e.g., using a synchronized map view obtained from classjava.util.Collections).IPP Compatibility: The string values returned by each individual
PrinterStateReasonobject's and the associatedSeverityobject'stoString()methods, concatenated together with a hyphen ("-") in between, gives the IPP keyword value. The category name returned bygetName()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-Severitymappings as the given map.
-
Method Summary
All Methods Instance Methods Concrete Methods 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.StringgetName()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 thisPrinterStateReasonsattribute.Severityput(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 Detail
-
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
public PrinterStateReasons(Map<PrinterStateReason,Severity> map)
Construct 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- ifmapisnullor if any key or value inmapisnullClassCastException- if any key inmapis not an instance of classPrinterStateReasonor if any value inmapis not an instance of classSeverity
-
-
Method Detail
-
put
public 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. If this printer state reasons attribute previously contained a mapping for the given printer state reason, the old value is replaced.- Specified by:
putin interfaceMap<PrinterStateReason,Severity>- Overrides:
putin classHashMap<PrinterStateReason,Severity>- Parameters:
reason- printer state reason. This must be an instance of classPrinterStateReasonseverity- severity of the printer state reason. This must be an instance of classSeverity- Returns:
- previous severity associated with the given printer state reason,
or
nullif the given printer state reason was not present - Throws:
NullPointerException- ifreasonisnullorseverityisnullClassCastException- ifreasonis not an instance of classPrinterStateReasonor ifseverityis not an instance of classSeverity- Since:
- 1.5
-
getCategory
public final Class<? extends Attribute> 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 classPrinterStateReasonsitself.- Specified by:
getCategoryin interfaceAttribute- Returns:
- printing attribute class (category), an instance of class
java.lang.Class
-
getName
public final String 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
public Set<PrinterStateReason> printerStateReasonSet(Severity severity)
Obtain 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- ifseverityisnull
-
-