1 /* 2 * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package javax.print.event; 27 28 /** 29 * Implementations of this listener interface should be attached to a 30 * {@link javax.print.DocPrintJob DocPrintJob} to monitor the status of 31 * the printer job. 32 * These callback methods may be invoked on the thread processing the 33 * print job, or a service created notification thread. In either case 34 * the client should not perform lengthy processing in these callbacks. 35 */ 36 37 public interface PrintJobListener { 38 39 /** 40 * Called to notify the client that data has been successfully 41 * transferred to the print service, and the client may free 42 * local resources allocated for that data. The client should 43 * not assume that the data has been completely printed after 44 * receiving this event. 45 * If this event is not received the client should wait for a terminal 46 * event (completed/canceled/failed) before freeing the resources. 47 * @param pje the job generating this event 48 */ 49 public void printDataTransferCompleted(PrintJobEvent pje) ; 50 51 52 /** 53 * Called to notify the client that the job completed successfully. 54 * @param pje the job generating this event 55 */ 56 public void printJobCompleted(PrintJobEvent pje) ; 57 58 59 /** 60 * Called to notify the client that the job failed to complete 61 * successfully and will have to be resubmitted. 62 * @param pje the job generating this event 63 */ 64 public void printJobFailed(PrintJobEvent pje) ; 65 66 67 /** 68 * Called to notify the client that the job was canceled 69 * by a user or a program. 70 * @param pje the job generating this event 71 */ 72 public void printJobCanceled(PrintJobEvent pje) ; 73 74 75 /** 76 * Called to notify the client that no more events will be delivered. 77 * One cause of this event being generated is if the job 78 * has successfully completed, but the printing system 79 * is limited in capability and cannot verify this. 80 * This event is required to be delivered if none of the other 81 * terminal events (completed/failed/canceled) are delivered. 82 * @param pje the job generating this event 83 */ 84 public void printJobNoMoreEvents(PrintJobEvent pje) ; 85 86 87 /** 88 * Called to notify the client that an error has occurred that the 89 * user might be able to fix. One example of an error that can 90 * generate this event is when the printer runs out of paper. 91 * @param pje the job generating this event 92 */ 93 public void printJobRequiresAttention(PrintJobEvent pje) ; 94 95 }