/** * Print Service Attribute Listener. * * @param psae event */ @Override public void attributeUpdate(PrintServiceAttributeEvent psae) { /** * PrintEvent on Win32 Printer : \\MAIN\HP LaserJet 5L * PrintServiceAttributeSet - length=2 * queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount) * printer-is-accepting-jobs = accepting-jobs (class javax.print.attribute.standard.PrinterIsAcceptingJobs) * PrintEvent on Win32 Printer : \\MAIN\HP LaserJet 5L * PrintServiceAttributeSet - length=1 * queued-job-count = 1 (class javax.print.attribute.standard.QueuedJobCount) * PrintEvent on Win32 Printer : \\MAIN\HP LaserJet 5L * PrintServiceAttributeSet - length=1 * queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount) **/ log.debug("attributeUpdate - " + psae); // PrintUtil.dump (psae.getAttributes()); }
private void notifyListeners(final PrintServiceAttribute... attrs) { final PrintServiceAttributeEvent event = new PrintServiceAttributeEvent( this, new HashPrintServiceAttributeSet(attrs)); for (PrintServiceAttributeListener listener : attrListeners.keySet()) { listener.attributeUpdate(event); } }
public void run() { try { running = true; while (running) { Thread.sleep(1000); for (int i = 0; i < services.size(); i++) { PrintService service = (PrintService)services.get(i); PrintServiceAttributeSet lastSet = (PrintServiceAttributeSet)attributes.get(service); PrintServiceAttributeSet newSet = service.getAttributes(); if (!lastSet.equals(newSet)) { PrintServiceAttributeSet updated = getUpdatedAttributeSet(lastSet, newSet); if (updated.size() > 0) { PrintServiceAttributeEvent event = new PrintServiceAttributeEvent(service,updated); ArrayList serviceListeners = (ArrayList)listeners.get(service); for (int j = 0; j < serviceListeners.size(); j++) { PrintServiceAttributeListener listener = (PrintServiceAttributeListener) serviceListeners.get(j); listener.attributeUpdate(event); } } } } } } catch (InterruptedException ie) { // EventNotifier interrupted. running = false; } }