Programa Java para implementar la API PrinterStateReasons

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:

  1. Serializable
  2. Clonable
  3. Mapa<ImpresoraEstadoMotivo,Gravedad>
  4. Atributo
  5. 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");
    }
}
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *