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);
}
}