La API PrintStateReason en Java se utiliza para acceder a los datos del estado actual de un dispositivo de impresora, como si la impresora está conectada o ahora, si se ha quedado sin tóner o no, etc.
Clase PrinterStateReasons
java.lang.Object java.util.AbstractMap<K,V> java.util.HashMap<PrinterStateReason,Severity> javax.print.attribute.standard.PrinterStateReasons
Todas las interfaces implementadas:
- Serializable
- Clonable
- Mapa<ImpresoraEstadoMotivo,Gravedad>
- Atributo
- AtributoServicioImpresión
Constructores:
1. PrinterStateReasons() público : es el constructor predeterminado.
2. PrinterStateReasons público (int initialCapacity) : es un constructor parametrizado.
- Parámetros: initialCapacity – Capacidad inicial.
- Excepciones: IllegalArgumentException: si la capacidad inicial es inferior a cero.
3. Public PrinterStateReasons(int initialCapacity,float loadFactor)
- Parámetros:
- initialCapacity: capacidad inicial.
- loadFactor – Factor de carga.
- Excepciones: IllegalArgumentException: si la capacidad inicial es inferior a cero.
Todos estos constructores construyen un nuevo atributo de motivo de estado de impresión vacío y el mapa hash subyacente que tiene la capacidad inicial predeterminada y el factor de carga.
4. PrinterStateReasons público (mapa <PrinterStateReason,Severity> mapa)
- Parámetros: map – Mapa a copiar.
- Excepciones:
- NullPointerException: (excepción no verificada) Se lanza si el mapa es nulo o si alguna clave o valor en el mapa es nulo.
- ClassCastException: (excepción no verificada) Se lanza si alguna clave en el mapa no es una instancia de la clase PrinterStateReason o si algún valor en el mapa no es una instancia de la clase Severity.
Construye un nuevo atributo printer-state-reasons que contiene las mismas asignaciones PrinterStateReason-to-Severity que el mapa dado. La capacidad inicial y el factor de carga del mapa hash subyacente se especifican en el constructor de superclase HashMap(Map).
A continuación se muestra la implementación del enunciado del problema:
Java
// Java Program to Implement PrinterStateReasons API import java.util.Collection; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import javax.print.attribute.Attribute; import javax.print.attribute.standard.PrinterStateReason; import javax.print.attribute.standard.PrinterStateReasons; import javax.print.attribute.standard.Severity; public class PrinterStateReasonsImpl { private PrinterStateReasons printerStateReasons; // Construct a new, empty printer state reasons // attribute; the underlying hash map has the default // initial capacity and load factor. public PrinterStateReasonsImpl() { printerStateReasons = new PrinterStateReasons(); } // super a new, empty printer state reasons attribute; // the underlying hash map has the given initial // capacity and the default load factor. public PrinterStateReasonsImpl(int initialCapacity) { printerStateReasons = new PrinterStateReasons(initialCapacity); } // Construct a new, empty printer state reasons // attribute; the underlying hash map has the given // initial capacity and load factor. public PrinterStateReasonsImpl(int initialCapacity, float loadFactor) { printerStateReasons = new PrinterStateReasons( initialCapacity, loadFactor); } // Construct a new printer state reasons attribute that // contains the same PrinterStateReason-to-Severity // mappings as the given map. public PrinterStateReasonsImpl( Map<PrinterStateReason, Severity> map) { printerStateReasons = new PrinterStateReasons(map); } // Removes all of the mappings from this map. public void clear() { printerStateReasons.clear(); } // Returns a shallow copy of this HashMap instance: the // keys and values themselves are not cloned. public Object clone() { return printerStateReasons.clone(); } // Returns true if this map contains // a mapping for the specified key. public boolean containsKey(Object key) { return printerStateReasons.containsKey(key); } // Returns true if this map maps one // or more keys to the specified value. public boolean containsValue(Object value) { return printerStateReasons.containsValue(value); } // Returns a Set view of the mappings // contained in this map. public Set<Entry<PrinterStateReason, Severity> > entrySet() { return printerStateReasons.entrySet(); } // Returns the value to which the specified // key is mapped, or null if this map contains // no mapping for the key. public Severity get(Object key) { return printerStateReasons.get(key); } // Returns true if this map contains // no key-value mappings. public boolean isEmpty() { return printerStateReasons.isEmpty(); } // Returns a Set view of the // keys contained in this map. public Set<PrinterStateReason> keySet() { return printerStateReasons.keySet(); } // Associates the specified value with // the specified key in this map. public Severity put(PrinterStateReason reason, Severity severity) { return printerStateReasons.put(reason, severity); } // Copies all of the mappings from the // specified map to this map. public void putAll(Map<? extends PrinterStateReason, ? extends Severity> m) { printerStateReasons.putAll(m); } // Removes the mapping for the specified // key from this map if present. public Severity remove(Object key) { return printerStateReasons.remove(key); } // Returns the number of key-value // mappings in this map. public int size() { return printerStateReasons.size(); } // Returns a Collection view of the // values contained in this map. public Collection<Severity> values() { return printerStateReasons.values(); } // Get the printing attribute class which is to be used // as the "category" for this printing attribute value. public Class<? extends Attribute> getCategory() { return printerStateReasons.getCategory(); } // Get the name of the category of which // this attribute value is an instance. public String getName() { return printerStateReasons.getName(); } // Obtain an unmodifiable set view of the individual // printer state reason attributes at the given severity // level in this PrinterStateReasons attribute. public Set<PrinterStateReason> printerStateReasonSet(Severity severity) { return printerStateReasons.printerStateReasonSet( severity); } public static void main(String[] arg) { PrinterStateReasonsImpl printerStateReasons = new PrinterStateReasonsImpl(); printerStateReasons.put( PrinterStateReason.CONNECTING_TO_DEVICE, Severity.ERROR); printerStateReasons.put( PrinterStateReason.COVER_OPEN, Severity.REPORT); printerStateReasons.put( PrinterStateReason.INPUT_TRAY_MISSING, Severity.WARNING); System.out.println( "the key set of the printerStateReasons is "); Set<PrinterStateReason> keySet = printerStateReasons.keySet(); Iterator<PrinterStateReason> itr = keySet.iterator(); while (itr.hasNext()) { System.out.print(itr.next() + "\t"); } System.out.println(); System.out.println( "the values of the printerStateReasons is "); Collection<Severity> collectionValues = printerStateReasons.values(); Iterator<Severity> citr = collectionValues.iterator(); while (citr.hasNext()) { System.out.print(citr.next() + "\t"); } System.out.println(); System.out.println( "the entry set of the printerStateReasons is "); Iterator<Entry<PrinterStateReason, Severity> > eitr; Set<Entry<PrinterStateReason, Severity> > entrySet = printerStateReasons.entrySet(); eitr = entrySet.iterator(); while (eitr.hasNext()) { System.out.println(eitr.next() + "\t"); } System.out.println( "the printerStateReasons contains Key CONNECTING_TO_DEVICE :" + printerStateReasons.containsKey( PrinterStateReason.CONNECTING_TO_DEVICE)); System.out.println( "the printerStateReasons contains Value ERROR :" + printerStateReasons.containsValue( Severity.ERROR)); System.out.println( "the size of the printerStateReasons is " + printerStateReasons.size()); printerStateReasons.clear(); if (printerStateReasons.isEmpty()) System.out.println( "the printerStateReasons is empty"); else System.out.println( "the printerStateReasons is not empty"); } }
the key set of the printerStateReasons is input-tray-missing connecting-to-device cover-open the values of the printerStateReasons is warning error report the entry set of the printerStateReasons is input-tray-missing=warning connecting-to-device=error cover-open=report the printerStateReasons contains Key CONNECTING_TO_DEVICE :true the printerStateReasons contains Value ERROR :true the size of the printerStateReasons is 3 the printerStateReasons is empty
Publicación traducida automáticamente
Artículo escrito por ankit_kumar_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA