public PrintServiceAttributeSet getAttributes() { PrintServiceAttributeSet attributes = new HashPrintServiceAttributeSet(); attributes.add(new PrinterName(serviceName, Locale.getDefault())); if (getColorSupported(serviceName)) { attributes.add(ColorSupported.SUPPORTED); int colorPPM = getPagesPerMinuteColor(serviceName); if (colorPPM > 0) { attributes.add(new PagesPerMinuteColor(colorPPM)); } } else { attributes.add(ColorSupported.NOT_SUPPORTED); } int pagesPerMinute = getPagesPerMinute(serviceName); if (pagesPerMinute > 0) { attributes.add(new PagesPerMinute(pagesPerMinute)); } String printerLocation = getPrinterLocation(serviceName); if (printerLocation != null) { attributes.add(new PrinterLocation(printerLocation, Locale.getDefault())); } int acceptingJobs = getPrinterIsAcceptingJobs(serviceName); if (acceptingJobs == 0) { attributes.add(PrinterIsAcceptingJobs.NOT_ACCEPTING_JOBS); } else if (acceptingJobs == 1) { attributes.add(PrinterIsAcceptingJobs.ACCEPTING_JOBS); } int jobCount = getQueuedJobCount(serviceName); if (jobCount >= 0) { attributes.add(new QueuedJobCount(jobCount)); } return attributes; }
public void testHashPrintServiceAttributeSet() { startTest("HashPrintJobAttributeSet class testing..."); PrintServiceAttributeSet set1 = new HashPrintServiceAttributeSet(); PrintServiceAttributeSet set2 = new HashPrintServiceAttributeSet( ColorSupported.SUPPORTED); PrintServiceAttributeSet set3 = new HashPrintServiceAttributeSet(set2); PrinterLocation location = new PrinterLocation("room 222", Locale.ENGLISH); PrintServiceAttribute [] arr = { location, ColorSupported.SUPPORTED }; PrintServiceAttributeSet set4 = new HashPrintServiceAttributeSet(arr); assertTrue(set1.isEmpty()); assertFalse(set2.isEmpty()); assertTrue(set3.equals(set2)); assertFalse(set3.equals(set1)); set3.clear(); assertEquals(set3, set1); set3.add(ColorSupported.SUPPORTED); set3.add(location); assertTrue(set3.containsKey(location.getClass())); assertFalse(set2.containsKey(MediaName.NA_LETTER_WHITE.getClass())); assertTrue(set4.equals(set3)); assertEquals(set3.get(location.getClass()), location); set1.addAll(set3); assertEquals(set3, set1); set1.remove(location.getClass()); assertEquals(set1.size(), 1); }