FileDocCategorySizeDatePackage
PrinterStateReasons.javaAPI DocJava SE 5 API10793Fri Aug 26 14:57:46 BST 2005javax.print.attribute.standard

PrinterStateReasons

public final class PrinterStateReasons extends HashMap implements PrintServiceAttribute
Class 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 {@link PrinterState PrinterState} attribute.

Instances of {@link PrinterStateReason 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 {@link PrinterStateReason PrinterStateReason} objects which pertain to the Print Service's status, and each {@link PrinterStateReason PrinterStateReason} object is associated with a {@link Severity Severity} level of REPORT (least severe), WARNING, or ERROR (most severe). The printer adds a {@link PrinterStateReason PrinterStateReason} object to the Print Service's PrinterStateReasons attribute when the corresponding condition becomes true of the printer, and the printer removes the {@link PrinterStateReason PrinterStateReason} object again when the corresponding condition becomes false, regardless of whether the Print Service's overall {@link PrinterState PrinterState} also changed.

Class PrinterStateReasons inherits its implementation from class {@link java.util.HashMap java.util.HashMap}. Each entry in the map consists of a {@link PrinterStateReason PrinterStateReason} object (key) mapping to a {@link Severity Severity} object (value):

Unlike most printing attributes which are immutable once constructed, class PrinterStateReasons is designed to be mutable; you can add {@link PrinterStateReason PrinterStateReason} objects to an existing PrinterStateReasons object and remove them again. However, like class {@link java.util.HashMap java.util.HashMap}, class PrinterStateReasons is bot 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 {@link java.util.Collections java.util.Collections}).

IPP Compatibility: The string values returned by each individual {@link PrinterStateReason PrinterStateReason} object's and the associated {@link Severity 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.

author
Alan Kaminsky

Fields Summary
private static final long
serialVersionUID
Constructors Summary
public PrinterStateReasons()
Construct a new, empty printer state reasons attribute; the underlying hash map has the default initial capacity and load factor.


                               
      
	super();
    
public 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.

param
initialCapacity Initial capacity.
throws
IllegalArgumentException if the initial capacity is less than zero.

	super (initialCapacity);
    
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.

param
initialCapacity Initial capacity.
param
loadFactor Load factor.
throws
IllegalArgumentException if the initial capacity is less than zero.

	super (initialCapacity, loadFactor);
    
public PrinterStateReasons(Map map)
Construct a new printer state reasons attribute that contains the same {@link PrinterStateReason PrinterStateReason}-to-{@link Severity Severity} mappings as the given map. The underlying hash map's initial capacity and load factor are as specified in the superclass constructor {@link java.util.HashMap#HashMap(java.util.Map) HashMap(Map)}.

param
map Map to copy.
exception
NullPointerException (unchecked exception) Thrown if map is null or if any key or value in map is null.
throws
ClassCastException (unchecked exception) Thrown if any key in map is not an instance of class {@link PrinterStateReason PrinterStateReason} or if any value in map is not an instance of class {@link Severity Severity}.

	this();
	for (Map.Entry<PrinterStateReason,Severity> e : map.entrySet())
	    put(e.getKey(), e.getValue());
    
Methods Summary
public final java.lang.ClassgetCategory()
Get the printing attribute class which is to be used as the "category" for this printing attribute value.

For class PrinterStateReasons, the category is class PrinterStateReasons itself.

return
Printing attribute class (category), an instance of class {@link java.lang.Class java.lang.Class}.

	return PrinterStateReasons.class;
    
public final java.lang.StringgetName()
Get the name of the category of which this attribute value is an instance.

For class PrinterStateReasons, the category name is "printer-state-reasons".

return
Attribute category name.

	return "printer-state-reasons";
    
public java.util.SetprinterStateReasonSet(javax.print.attribute.standard.Severity severity)
Obtain an unmodifiable set view of the individual printer state reason attributes at the given severity level in this PrinterStateReasons attribute. Each element in the set view is a {@link PrinterStateReason PrinterStateReason} object. The only elements in the set view are the {@link PrinterStateReason 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.

param
severity Severity level.
return
Set view of the individual {@link PrinterStateReason PrinterStateReason} attributes at the given {@link Severity Severity} level.
exception
NullPointerException (unchecked exception) Thrown if severity is null.

	if (severity == null) {
	    throw new NullPointerException("severity is null");
	}
	return new PrinterStateReasonSet (severity, entrySet());
    
public javax.print.attribute.standard.Severityput(javax.print.attribute.standard.PrinterStateReason reason, javax.print.attribute.standard.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.

param
reason Printer state reason. This must be an instance of class {@link PrinterStateReason PrinterStateReason}.
param
severity Severity of the printer state reason. This must be an instance of class {@link Severity Severity}.
return
Previous severity associated with the given printer state reason, or null if the given printer state reason was not present.
throws
NullPointerException (unchecked exception) Thrown if reason is null or severity is null.
throws
ClassCastException (unchecked exception) Thrown if reason is not an instance of class {@link PrinterStateReason PrinterStateReason} or if severity is not an instance of class {@link Severity Severity}.

	if (reason == null) {
	    throw new NullPointerException("reason is null");
	}
	if (severity == null) {
	    throw new NullPointerException("severity is null");
	}
	return super.put((PrinterStateReason) reason,
			 (Severity) severity);