src/windows/classes/sun/print/Win32PrintService.java

Print this page

        

@@ -95,21 +95,21 @@
         DocFlavor.URL.AUTOSENSE,
         DocFlavor.INPUT_STREAM.AUTOSENSE
     };
 
     /* let's try to support a few of these */
-    private static final Class[] serviceAttrCats = {
+    private static final Class<?>[] serviceAttrCats = {
         PrinterName.class,
         PrinterIsAcceptingJobs.class,
         QueuedJobCount.class,
         ColorSupported.class,
     };
 
     /*  it turns out to be inconvenient to store the other categories
      *  separately because many attributes are in multiple categories.
      */
-    private static Class[] otherAttrCats = {
+    private static Class<?>[] otherAttrCats = {
         JobName.class,
         RequestingUserName.class,
         Copies.class,
         Destination.class,
         OrientationRequested.class,

@@ -200,21 +200,21 @@
 
     private MediaSizeName[] mediaSizeNames;
     private MediaPrintableArea[] mediaPrintables;
     private MediaTray[] mediaTrays;
     private PrinterResolution[] printRes;
-    private HashMap mpaMap;
+    private HashMap<MediaSizeName, MediaPrintableArea> mpaMap;
     private int nCopies;
     private int prnCaps;
     private int[] defaultSettings;
 
     private boolean gotTrays;
     private boolean gotCopies;
     private boolean mediaInitialized;
     private boolean mpaListInitialized;
 
-    private ArrayList idList;
+    private ArrayList<Integer> idList;
     private MediaSize[] mediaSizes;
 
     private boolean isInvalid;
 
     Win32PrintService(String name) {

@@ -277,11 +277,11 @@
 
         if ((idList != null) && (mediaSizes != null) &&
             (idList.size() == mediaSizes.length)) {
             for (int i=0; i< idList.size(); i++) {
                 if (mediaSizes[i].getMediaSizeName() == msn) {
-                    return ((Integer)idList.get(i)).intValue();
+                    return idList.get(i).intValue();
                 }
             }
         }
         return 0;
     }

@@ -336,14 +336,15 @@
             default:
                 return null;
         }
     }
 
-    private boolean addToUniqueList(ArrayList msnList, MediaSizeName mediaName) {
+    private boolean addToUniqueList(ArrayList<MediaSizeName> msnList,
+                                    MediaSizeName mediaName) {
         MediaSizeName msn;
         for (int i=0; i< msnList.size(); i++) {
-            msn = (MediaSizeName)msnList.get(i);
+            msn = msnList.get(i);
             if (msn == mediaName) {
                 return false;
             }
         }
         msnList.add(mediaName);

@@ -358,13 +359,12 @@
         int[] media = getAllMediaIDs(printer, getPort());
         if (media == null) {
             return;
         }
 
-        ArrayList msnList = new ArrayList();
+        ArrayList<MediaSizeName> msnList = new ArrayList<>();
         ArrayList<Win32MediaSize> trailingWmsList = new ArrayList<Win32MediaSize>();
-        ArrayList printableList = new ArrayList();
         MediaSizeName mediaName;
         boolean added;
         boolean queryFailure = false;
         float[] prnArea;
 

@@ -373,21 +373,21 @@
         // function for getting mediaSizes.
         // This is to ensure that mediaSizes and media IDs have 1-1 correspondence.
         // We remove from ID list any invalid mediaSize.  Though this is rare,
         // it happens in HP 4050 German driver.
 
-        idList = new ArrayList();
+        idList = new ArrayList<>();
         for (int i=0; i < media.length; i++) {
             idList.add(Integer.valueOf(media[i]));
         }
 
         ArrayList<String> dmPaperNameList = new ArrayList<String>();
         mediaSizes = getMediaSizes(idList, media, dmPaperNameList);
         for (int i = 0; i < idList.size(); i++) {
 
             // match Win ID with our predefined ID using table
-            mediaName = findWin32Media(((Integer)idList.get(i)).intValue());
+            mediaName = findWin32Media(idList.get(i).intValue());
             // Verify that this standard size is the same size as that
             // reported by the driver. This should be the case except when
             // the driver is mis-using a standard windows paper ID.
             if (mediaName != null &&
                 idList.size() == mediaSizes.length) {

@@ -418,11 +418,11 @@
                  * matched with media sizes predefined in JDK, while whose paper IDs did not,
                  * or whose sizes and paper IDs both did not match with any predefined in JDK.
                  */
                 Win32MediaSize wms = Win32MediaSize.findMediaName(dmPaperNameList.get(i));
                 if ((wms == null) && (idList.size() == mediaSizes.length)) {
-                    wms = new Win32MediaSize(dmPaperNameList.get(i), (Integer)idList.get(i));
+                    wms = new Win32MediaSize(dmPaperNameList.get(i), idList.get(i));
                     mediaSizes[i] = new MediaSize(mediaSizes[i].getX(MediaSize.MM),
                         mediaSizes[i].getY(MediaSize.MM), MediaSize.MM, wms);
                 }
                 if ((wms != null) && (wms != mediaName)) {
                     if (!added) {

@@ -456,11 +456,11 @@
             }
         } else {
             // get from cached mapping of MPAs
             if (mpaMap != null && (mpaMap.get(msn) != null)) {
                 MediaPrintableArea[] mpaArr = new MediaPrintableArea[1];
-                mpaArr[0] = (MediaPrintableArea)mpaMap.get(msn);
+                mpaArr[0] = mpaMap.get(msn);
                 return mpaArr;
             }
         }
 
         initMedia();

@@ -476,11 +476,11 @@
         } else {
             loopNames = mediaSizeNames;
         }
 
         if (mpaMap == null) {
-            mpaMap = new HashMap();
+            mpaMap = new HashMap<>();
         }
 
         for (int i=0; i < loopNames.length; i++) {
             MediaSizeName mediaName = loopNames[i];
 

@@ -530,14 +530,14 @@
            if (mpaMap.get(msn) == null) {
                return null;
            }
            MediaPrintableArea[] mpaArr = new MediaPrintableArea[1];
            // by this time, we've already gotten the desired MPA
-           mpaArr[0] = (MediaPrintableArea)mpaMap.get(msn);
+           mpaArr[0] = mpaMap.get(msn);
            return mpaArr;
        } else {
-           mediaPrintables = (MediaPrintableArea[])mpaMap.values().toArray(new MediaPrintableArea[0]);
+           mediaPrintables = mpaMap.values().toArray(new MediaPrintableArea[0]);
            mpaListInitialized = true;
            return mediaPrintables;
        }
     }
 

@@ -622,11 +622,12 @@
         }
         return null;
     }
 
 
-    private MediaSize[] getMediaSizes(ArrayList idList, int[] media, ArrayList<String> dmPaperNameList) {
+    private MediaSize[] getMediaSizes(ArrayList<Integer> idList, int[] media,
+                                      ArrayList<String> dmPaperNameList) {
         if (dmPaperNameList == null) {
             dmPaperNameList = new ArrayList<String>();
         }
 
         String prnPort = getPort();

@@ -639,11 +640,11 @@
         if ((mediaSz == null) || (winMediaNames == null)) {
             return null;
         }
 
         int nMedia = mediaSz.length/2;
-        ArrayList msList = new ArrayList();
+        ArrayList<MediaSize> msList = new ArrayList<>();
 
         for (int i = 0; i < nMedia; i++, ms=null) {
             wid = mediaSz[i*2]/10f;
             ht = mediaSz[i*2+1]/10f;
 

@@ -812,11 +813,11 @@
             if (prnRes == null) {
                 printRes = new PrinterResolution[0];
             } else {
                 int nRes = prnRes.length/2;
 
-                ArrayList arrList = new ArrayList();
+                ArrayList<PrinterResolution> arrList = new ArrayList<>();
                 PrinterResolution pr;
 
                 for (int i=0; i<nRes; i++) {
                   try {
                         pr = new PrinterResolution(prnRes[i*2],

@@ -824,12 +825,11 @@
                         arrList.add(pr);
                     } catch (IllegalArgumentException e) {
                     }
                 }
 
-                printRes = (PrinterResolution[])arrList.toArray(
-                                        new PrinterResolution[arrList.size()]);
+                printRes = arrList.toArray(new PrinterResolution[arrList.size()]);
             }
         }
         return printRes;
     }
 

@@ -913,10 +913,11 @@
                 notifier = null;
             }
         }
     }
 
+    @SuppressWarnings("unchecked")
     public <T extends PrintServiceAttribute> T
         getAttribute(Class<T> category)
     {
         if (category == null) {
             throw new NullPointerException("category");

@@ -1007,11 +1008,11 @@
         }
         return false;
     }
 
     public Class<?>[] getSupportedAttributeCategories() {
-        ArrayList categList = new ArrayList(otherAttrCats.length+3);
+        ArrayList<Class<?>> categList = new ArrayList<>(otherAttrCats.length+3);
         for (int i=0; i < otherAttrCats.length; i++) {
             categList.add(otherAttrCats[i]);
         }
 
         int caps = getPrinterCapabilities();

@@ -1031,11 +1032,11 @@
         PrinterResolution[] supportedRes = getPrintResolutions();
         if ((supportedRes!=null) && (supportedRes.length>0)) {
             categList.add(PrinterResolution.class);
         }
 
-        return (Class[])categList.toArray(new Class[categList.size()]);
+        return categList.toArray(new Class<?>[categList.size()]);
     }
 
     public boolean
         isAttributeCategorySupported(Class<? extends Attribute> category)
     {

@@ -1047,11 +1048,11 @@
         if (!(Attribute.class.isAssignableFrom(category))) {
             throw new IllegalArgumentException(category +
                                                " is not an Attribute");
         }
 
-        Class[] classList = getSupportedAttributeCategories();
+        Class<?>[] classList = getSupportedAttributeCategories();
         for (int i = 0; i < classList.length; i++) {
             if (category.equals(classList[i])) {
                 return true;
             }
         }

@@ -1232,11 +1233,11 @@
         else {
             return false;
         }
     }
 
-    private boolean isPSDocAttr(Class category) {
+    private boolean isPSDocAttr(Class<?> category) {
         if (category == OrientationRequested.class || category == Copies.class) {
                 return true;
         }
         else {
             return false;

@@ -1473,11 +1474,11 @@
                                              AttributeSet attributes) {
 
         if (attr == null) {
             throw new NullPointerException("null attribute");
         }
-        Class category = attr.getCategory();
+        Class<? extends Attribute> category = attr.getCategory();
         if (flavor != null) {
             if (!isDocFlavorSupported(flavor)) {
                 throw new IllegalArgumentException(flavor +
                                                    " is an unsupported flavor");
                 // if postscript & category is already specified within the PostScript data

@@ -1698,11 +1699,11 @@
 
    public int hashCode() {
         return this.getClass().hashCode()+getName().hashCode();
     }
 
-    public boolean usesClass(Class c) {
+    public boolean usesClass(Class<?> c) {
         return (c == sun.awt.windows.WPrinterJob.class);
     }
 
     private native int[] getAllMediaIDs(String printerName, String port);
     private native int[] getAllMediaSizes(String printerName, String port);

@@ -1720,12 +1721,12 @@
     private native String getPrinterPort(String printerName);
 }
 
 @SuppressWarnings("serial") // JDK implementation class
 class Win32MediaSize extends MediaSizeName {
-    private static ArrayList winStringTable = new ArrayList();
-    private static ArrayList winEnumTable = new ArrayList();
+    private static ArrayList<String> winStringTable = new ArrayList<>();
+    private static ArrayList<Win32MediaSize> winEnumTable = new ArrayList<>();
     private static MediaSize[] predefMedia;
 
     private int dmPaperID; // driver ID for this paper.
 
     private Win32MediaSize(int x) {

@@ -1739,11 +1740,11 @@
     }
 
     public static synchronized Win32MediaSize findMediaName(String name) {
         int nameIndex = winStringTable.indexOf(name);
         if (nameIndex != -1) {
-            return (Win32MediaSize)winEnumTable.get(nameIndex);
+            return winEnumTable.get(nameIndex);
         }
         return null;
     }
 
     public static MediaSize[] getPredefMedia() {

@@ -1781,14 +1782,14 @@
         return dmPaperID;
     }
 
     protected String[] getStringTable() {
       String[] nameTable = new String[winStringTable.size()];
-      return (String[])winStringTable.toArray(nameTable);
+      return winStringTable.toArray(nameTable);
     }
 
     protected EnumSyntax[] getEnumValueTable() {
       MediaSizeName[] enumTable = new MediaSizeName[winEnumTable.size()];
-      return (MediaSizeName[])winEnumTable.toArray(enumTable);
+      return winEnumTable.toArray(enumTable);
     }
 
 }