APIdia Launch Partner
Top Description Inners Fields Constructors Methods
javax.print.attribute.standard

public final Class PrinterStateReasons

extends HashMap<PrinterStateReason, Severity>
implements PrintServiceAttribute
Class Inheritance
All Implemented Interfaces
javax.print.attribute.PrintServiceAttribute, javax.print.attribute.Attribute, java.io.Serializable
Imports
java.io.Serial, java.util.AbstractSet, .HashMap, .Iterator, .Map, .NoSuchElementException, .Set, javax.print.attribute.Attribute, .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 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.

Author
Alan Kaminsky

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class

Field Summary

Modifier and TypeField and Description
private static final long
serialVersionUID

Hides java.util.HashMap.serialVersionUID.

Use serialVersionUID from JDK 1.4 for interoperability.

Constructor Summary

AccessConstructor and Description
public
PrinterStateReasons()

Construct a new, empty printer state reasons attribute; the underlying hash map has the default initial capacity and load factor.

public
PrinterStateReasons(int
initial capacity
initialCapacity
)

Construct a new, empty printer state reasons attribute; the underlying hash map has the given initial capacity and the default load factor.

public
PrinterStateReasons(int
initial capacity
initialCapacity
,
float
load factor
loadFactor
)

Construct a new, empty printer state reasons attribute; the underlying hash map has the given initial capacity and load factor.

public
PrinterStateReasons(Map<PrinterStateReason, Severity>
map to copy
map
)

Construct a new printer state reasons attribute that contains the same PrinterStateReason-to-Severity mappings as the given map.

Method Summary

Modifier and TypeMethod and Description
public final Class<? extends Attribute>

Returns:

printing attribute class (category), an instance of class java.lang.Class
getCategory
()

Implements javax.print.attribute.Attribute.getCategory.

Get the printing attribute class which is to be used as the "category" for this printing attribute value.

public final String

Returns:

attribute category name
getName
()

Implements javax.print.attribute.Attribute.getName.

Get the name of the category of which this attribute value is an instance.

public Set<PrinterStateReason>

Returns:

set view of the individual PrinterStateReason attributes at the given Severity level
printerStateReasonSet
(Severity
severity level
severity
)

Obtain an unmodifiable set view of the individual printer state reason attributes at the given severity level in this PrinterStateReasons attribute.

public Severity

Returns:

previous severity associated with the given printer state reason, or null if the given printer state reason was not present
put
(PrinterStateReason
printer state reason. This must be an instance of class PrinterStateReason
reason
,
Severity
severity of the printer state reason. This must be an instance of class Severity
severity
)

Overrides java.util.HashMap.put.

Implements java.util.Map.put.

Adds the given printer state reason to this printer state reasons attribute, associating it with the given severity level.

Inherited from java.util.HashMap:
clearclonecomputecomputeIfAbsentcomputeIfPresentcontainsKeycontainsValueentrySetforEachgetgetOrDefaultisEmptykeySetmergenewHashMapputAllputIfAbsentremoveremovereplacereplacereplaceAllsizevalues

Field Detail

serialVersionUIDback to summary
private static final long serialVersionUID

Hides java.util.HashMap.serialVersionUID.

Use serialVersionUID from JDK 1.4 for interoperability.

Annotations
@Serial

Constructor Detail

PrinterStateReasonsback to summary
public PrinterStateReasons()

Construct a new, empty printer state reasons attribute; the underlying hash map has the default initial capacity and load factor.

PrinterStateReasonsback to summary
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:int

initial capacity

Exceptions
IllegalArgumentException:
if the initial capacity is negative
PrinterStateReasonsback to summary
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:int

initial capacity

loadFactor:float

load factor

Exceptions
IllegalArgumentException:
if the initial capacity is negative
PrinterStateReasonsback to summary
public PrinterStateReasons(Map<PrinterStateReason, Severity> map)

Construct a new printer state reasons attribute that contains the same 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).

Parameters
map:Map<PrinterStateReason, Severity>

map to copy

Exceptions
NullPointerException:
if map is null or if any key or value in map is null
ClassCastException:
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

Method Detail

getCategoryback to summary
public final Class<? extends Attribute> getCategory()

Implements javax.print.attribute.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 class PrinterStateReasons itself.

Returns:Class<? extends Attribute>

printing attribute class (category), an instance of class java.lang.Class

Annotations
@Override
getNameback to summary
public final String getName()

Implements javax.print.attribute.Attribute.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".

Returns:String

attribute category name

Annotations
@Override
printerStateReasonSetback to summary
public 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. Each element in the set view is a 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.

Parameters
severity:Severity

severity level

Returns:Set<PrinterStateReason>

set view of the individual PrinterStateReason attributes at the given Severity level

Exceptions
NullPointerException:
if severity is null
putback to summary
public Severity put(PrinterStateReason reason, Severity severity)

Overrides java.util.HashMap.put.

Implements java.util.Map.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.

Parameters
reason:PrinterStateReason

printer state reason. This must be an instance of class PrinterStateReason

severity:Severity

severity of the printer state reason. This must be an instance of class Severity

Returns:Severity

previous severity associated with the given printer state reason, or null if the given printer state reason was not present

Annotations
@Override
Exceptions
NullPointerException:
if reason is null or severity is null
ClassCastException:
if reason is not an instance of class PrinterStateReason or if severity is not an instance of class Severity
Since
1.5
javax.print.attribute.standard back to summary

private Class PrinterStateReasons.PrinterStateReasonSet

extends AbstractSet<PrinterStateReason>
Class Inheritance

Field Summary

Modifier and TypeField and Description
private Set<Map.Entry<PrinterStateReason, Severity>>
private Severity

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Iterator<PrinterStateReason>
iterator()

Implements abstract java.util.AbstractCollection.iterator.

Implements java.util.Set.iterator, java.util.Collection.iterator.

Returns an iterator over the elements in this set.

public int
size()

Implements abstract java.util.AbstractCollection.size.

Implements java.util.Set.size, java.util.Collection.size.

Returns the number of elements in this set (its cardinality).

Inherited from java.util.AbstractSet:
equalshashCoderemoveAll

Field Detail

myEntrySetback to summary
private Set<Map.Entry<PrinterStateReason, Severity>> myEntrySet
mySeverityback to summary
private Severity mySeverity

Constructor Detail

PrinterStateReasonSetback to summary
public PrinterStateReasonSet(Severity severity, Set<Map.Entry<PrinterStateReason, Severity>> entrySet)

Method Detail

iteratorback to summary
public Iterator<PrinterStateReason> iterator()

Implements abstract java.util.AbstractCollection.iterator.

Implements java.util.Set.iterator, java.util.Collection.iterator.

Doc from java.util.Set.iterator.

Returns an iterator over the elements in this set. The elements are returned in no particular order (unless this set is an instance of some class that provides a guarantee).

Annotations
@Override
sizeback to summary
public int size()

Implements abstract java.util.AbstractCollection.size.

Implements java.util.Set.size, java.util.Collection.size.

Doc from java.util.Set.size.

Returns the number of elements in this set (its cardinality). If this set contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.

Annotations
@Override
javax.print.attribute.standard back to summary

private Class PrinterStateReasons.PrinterStateReasonSetIterator

extends Object
implements Iterator<PrinterStateReason>
Class Inheritance
  • java.lang.Object
  • javax.print.attribute.standard.PrinterStateReasons.PrinterStateReasonSetIterator
All Implemented Interfaces
java.util.Iterator

Field Summary

Modifier and TypeField and Description
private Map.Entry<PrinterStateReason, Severity>
private Iterator<Map.Entry<PrinterStateReason, Severity>>
private Severity

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private void
public boolean
hasNext()

Implements java.util.Iterator.hasNext.

Returns true if the iteration has more elements.

public PrinterStateReason
next()

Implements java.util.Iterator.next.

Returns the next element in the iteration.

public void
remove()

Overrides default java.util.Iterator.remove.

Removes from the underlying collection the last element returned by this iterator (optional operation).

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

myEntryback to summary
private Map.Entry<PrinterStateReason, Severity> myEntry
myIteratorback to summary
private Iterator<Map.Entry<PrinterStateReason, Severity>> myIterator
mySeverityback to summary
private Severity mySeverity

Constructor Detail

PrinterStateReasonSetIteratorback to summary
public PrinterStateReasonSetIterator(Severity severity, Iterator<Map.Entry<PrinterStateReason, Severity>> iterator)

Method Detail

goToNextback to summary
private void goToNext()
hasNextback to summary
public boolean hasNext()

Implements java.util.Iterator.hasNext.

Doc from java.util.Iterator.hasNext.

Returns true if the iteration has more elements. (In other words, returns true if next would return an element rather than throwing an exception.)

Annotations
@Override
nextback to summary
public PrinterStateReason next()

Implements java.util.Iterator.next.

Doc from java.util.Iterator.next.

Returns the next element in the iteration.

Annotations
@Override
removeback to summary
public void remove()

Overrides default java.util.Iterator.remove.

Doc from java.util.Iterator.remove.

Removes from the underlying collection the last element returned by this iterator (optional operation). This method can be called only once per call to next.

The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method, unless an overriding class has specified a concurrent modification policy.

The behavior of an iterator is unspecified if this method is called after a call to the forEachRemaining method.

Annotations
@Override