blob: dca9b66640ea77fc46d3dea8d6a74be0bfc05df0 [file] [log] [blame]
/*
* Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package javax.print.event;
import javax.print.DocPrintJob;
/**
*
* Class <code>PrintJobEvent</code> encapsulates common events a print job
* reports to let a listener know of progress in the processing of the
* {@link DocPrintJob}.
*
*/
public class PrintJobEvent extends PrintEvent {
private static final long serialVersionUID = -1711656903622072997L;
private int reason;
/**
* The job was canceled by the {@link javax.print.PrintService PrintService}.
*/
public static final int JOB_CANCELED = 101;
/**
* The document cis completely printed.
*/
public static final int JOB_COMPLETE = 102;
/**
* The print service reports that the job cannot be completed.
* The application must resubmit the job.
*/
public static final int JOB_FAILED = 103;
/**
* The print service indicates that a - possibly transient - problem
* may require external intervention before the print service can
* continue. One example of an event that can
* generate this message is when the printer runs out of paper.
*/
public static final int REQUIRES_ATTENTION = 104;
/**
* Not all print services may be capable of delivering interesting
* events, or even telling when a job is complete. This message indicates
* the print job has no further information or communication
* with the print service. This message should always be delivered
* if a terminal event (completed/failed/canceled) is not delivered.
* For example, if messages such as JOB_COMPLETE have NOT been received
* before receiving this message, the only inference that should be drawn
* is that the print service does not support delivering such an event.
*/
public static final int NO_MORE_EVENTS = 105;
/**
* The job is not necessarily printed yet, but the data has been transferred
* successfully from the client to the print service. The client may
* free data resources.
*/
public static final int DATA_TRANSFER_COMPLETE = 106;
/**
* Constructs a <code>PrintJobEvent</code> object.
*
* @param source a <code>DocPrintJob</code> object
* @param reason an int specifying the reason.
* @throws IllegalArgumentException if <code>source</code> is
* <code>null</code>.
*/
public PrintJobEvent( DocPrintJob source, int reason) {
super(source);
this.reason = reason;
}
/**
* Gets the reason for this event.
* @return reason int.
*/
public int getPrintEventType() {
return reason;
}
/**
* Determines the <code>DocPrintJob</code> to which this print job
* event pertains.
*
* @return the <code>DocPrintJob</code> object that represents the
* print job that reports the events encapsulated by this
* <code>PrintJobEvent</code>.
*
*/
public DocPrintJob getPrintJob() {
return (DocPrintJob) getSource();
}
}