Thursday, 30 November 2017

Java Program to Implement PrinterStateReasons API


Code:

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 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> 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 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 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 values()
    {
        return printerStateReasons.values();
    }

    /**
     * Get the printing attribute class which is to be used as the "category"
     * for this printing attribute value.
     **/
    public Class 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 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 keySet = printerStateReasons.keySet();
        Iterator 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 collectionValues = printerStateReasons.values();
        Iterator 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> eitr;
        Set> 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");
    }
}



Output:

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


More Java Programs:




















100+ Best Home Decoration Ideas For Christmas Day 2019 To Make Home Beautiful

Best gifts for Christmas Day | Greeting cards for Christmas Day | Gift your children a new gift on Christmas day This Christmas d...