< prev index next >

src/java.desktop/share/classes/javax/print/DocPrintJob.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2000, 2013, 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 --- 1,7 ---- /* ! * Copyright (c) 2000, 2017, 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
*** 27,175 **** import javax.print.attribute.PrintJobAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; import javax.print.event.PrintJobAttributeListener; import javax.print.event.PrintJobListener; - import javax.print.PrintException; /** ! * ! * This interface represents a print job that can print a specified ! * document with a set of job attributes. An object implementing ! * this interface is obtained from a print service. ! * */ - public interface DocPrintJob { /** ! * Determines the {@link PrintService} object to which this print job ! * object is bound. ! * ! * @return {@code PrintService} object. * */ public PrintService getPrintService(); /** ! * Obtains this Print Job's set of printing attributes. ! * The returned attribute set object is unmodifiable. ! * The returned attribute set object is a "snapshot" of this Print Job's ! * attribute set at the time of the {@link #getAttributes()} method ! * call; that is, the returned attribute set's object's contents will ! * not be updated if this Print Job's attribute set's contents change ! * in the future. To detect changes in attribute values, call ! * {@code getAttributes()} again and compare the new attribute ! * set to the previous attribute set; alternatively, register a ! * listener for print job events. ! * The returned value may be an empty set but should not be null. * @return the print job attributes */ public PrintJobAttributeSet getAttributes(); /** ! * Registers a listener for event occurring during this print job. ! * If listener is null, no exception is thrown and no action is ! * performed. ! * If listener is already registered, it will be registered again. ! * @see #removePrintJobListener ! * ! * @param listener The object implementing the listener interface * */ public void addPrintJobListener(PrintJobListener listener); /** ! * Removes a listener from this print job. ! * This method performs no function, nor does it throw an exception, ! * if the listener specified by the argument was not previously added ! * to this component. If listener is null, no exception is thrown and ! * no action is performed. If a listener was registered more than once ! * only one of the registrations will be removed. ! * @see #addPrintJobListener * ! * @param listener The object implementing the listener interface */ public void removePrintJobListener(PrintJobListener listener); /** ! * Registers a listener for changes in the specified attributes. ! * If listener is null, no exception is thrown and no action is ! * performed. ! * To determine the attribute updates that may be reported by this job, ! * a client can call {@code getAttributes()} and identify the ! * subset that are interesting and likely to be reported to the ! * listener. Clients expecting to be updated about changes in a ! * specific job attribute should verify it is in that set, but ! * updates about an attribute will be made only if it changes and this ! * is detected by the job. Also updates may be subject to batching ! * by the job. To minimize overhead in print job processing it is ! * recommended to listen on only that subset of attributes which ! * are likely to change. ! * If the specified set is empty no attribute updates will be reported ! * to the listener. ! * If the attribute set is null, then this means to listen on all ! * dynamic attributes that the job supports. This may result in no ! * update notifications if a job can not report any attribute updates. ! * * If listener is already registered, it will be registered again. - * @see #removePrintJobAttributeListener * ! * @param listener The object implementing the listener interface ! * @param attributes The attributes to listen on, or null to mean ! * all attributes that can change, as determined by the job. */ public void addPrintJobAttributeListener( PrintJobAttributeListener listener, PrintJobAttributeSet attributes); /** ! * Removes an attribute listener from this print job. ! * This method performs no function, nor does it throw an exception, ! * if the listener specified by the argument was not previously added ! * to this component. If the listener is null, no exception is thrown ! * and no action is performed. ! * If a listener is registered more than once, even for a different ! * set of attributes, no guarantee is made which listener is removed. ! * @see #addPrintJobAttributeListener ! * ! * @param listener The object implementing the listener interface * */ public void removePrintJobAttributeListener( PrintJobAttributeListener listener); /** ! * Prints a document with the specified job attributes. ! * This method should only be called once for a given print job. ! * Calling it again will not result in a new job being spooled to ! * the printer. The service implementation will define policy ! * for service interruption and recovery. * When the print method returns, printing may not yet have completed as * printing may happen asynchronously, perhaps in a different thread. ! * Application clients which want to monitor the success or failure ! * should register a PrintJobListener. * <p> * Print service implementors should close any print data streams (ie ! * Reader or InputStream implementations) that they obtain ! * from the client doc. Robust clients may still wish to verify this. ! * An exception is always generated if a {@code DocFlavor} cannot ! * be printed. ! * ! * @param doc The document to be printed. If must be a flavor ! * supported by this PrintJob. ! * ! * @param attributes The job attributes to be applied to this print job. ! * If this parameter is null then the default attributes are used. ! * @throws PrintException The exception additionally may implement ! * an interface that more precisely describes the cause of the * exception * <ul> ! * <li>FlavorException. ! * If the document has a flavor not supported by this print job. ! * <li>AttributeException. ! * If one or more of the attributes are not valid for this print job. * </ul> */ public void print(Doc doc, PrintRequestAttributeSet attributes) throws PrintException; --- 27,161 ---- import javax.print.attribute.PrintJobAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; import javax.print.event.PrintJobAttributeListener; import javax.print.event.PrintJobListener; /** ! * This interface represents a print job that can print a specified document ! * with a set of job attributes. An object implementing this interface is ! * obtained from a print service. */ public interface DocPrintJob { /** ! * Determines the {@link PrintService} object to which this print job object ! * is bound. * + * @return {@code PrintService} object */ public PrintService getPrintService(); /** ! * Obtains this Print Job's set of printing attributes. The returned ! * attribute set object is unmodifiable. The returned attribute set object ! * is a "snapshot" of this Print Job's attribute set at the time of the ! * {@code getAttributes()} method call; that is, the returned attribute ! * set's object's contents will not be updated if this Print Job's attribute ! * set's contents change in the future. To detect changes in attribute ! * values, call {@code getAttributes()} again and compare the new attribute ! * set to the previous attribute set; alternatively, register a listener for ! * print job events. The returned value may be an empty set but should not ! * be {@code null}. ! * * @return the print job attributes */ public PrintJobAttributeSet getAttributes(); /** ! * Registers a listener for event occurring during this print job. If ! * listener is {@code null}, no exception is thrown and no action is ! * performed. If listener is already registered, it will be registered ! * again. * + * @param listener the object implementing the listener interface + * @see #removePrintJobListener */ public void addPrintJobListener(PrintJobListener listener); /** ! * Removes a listener from this print job. This method performs no function, ! * nor does it throw an exception, if the listener specified by the argument ! * was not previously added to this print job. If listener is {@code null}, ! * no exception is thrown and no action is performed. If a listener was ! * registered more than once only one of the registrations will be removed. * ! * @param listener the object implementing the listener interface ! * @see #addPrintJobListener */ public void removePrintJobListener(PrintJobListener listener); /** ! * Registers a listener for changes in the specified attributes. If listener ! * is {@code null}, no exception is thrown and no action is performed. To ! * determine the attribute updates that may be reported by this job, a ! * client can call {@code getAttributes()} and identify the subset that are ! * interesting and likely to be reported to the listener. Clients expecting ! * to be updated about changes in a specific job attribute should verify it ! * is in that set, but updates about an attribute will be made only if it ! * changes and this is detected by the job. Also updates may be subject to ! * batching by the job. To minimize overhead in print job processing it is ! * recommended to listen on only that subset of attributes which are likely ! * to change. If the specified set is empty no attribute updates will be ! * reported to the listener. If the attribute set is {@code null}, then this ! * means to listen on all dynamic attributes that the job supports. This may ! * result in no update notifications if a job can not report any attribute ! * updates. ! * <p> * If listener is already registered, it will be registered again. * ! * @param listener the object implementing the listener interface ! * @param attributes the attributes to listen on, or {@code null} to mean ! * all attributes that can change, as determined by the job ! * @see #removePrintJobAttributeListener */ public void addPrintJobAttributeListener( PrintJobAttributeListener listener, PrintJobAttributeSet attributes); /** ! * Removes an attribute listener from this print job. This method performs ! * no function, nor does it throw an exception, if the listener specified by ! * the argument was not previously added to this print job. If the listener ! * is {@code null}, no exception is thrown and no action is performed. If a ! * listener is registered more than once, even for a different set of ! * attributes, no guarantee is made which listener is removed. * + * @param listener the object implementing the listener interface + * @see #addPrintJobAttributeListener */ public void removePrintJobAttributeListener( PrintJobAttributeListener listener); /** ! * Prints a document with the specified job attributes. This method should ! * only be called once for a given print job. Calling it again will not ! * result in a new job being spooled to the printer. The service ! * implementation will define policy for service interruption and recovery. * When the print method returns, printing may not yet have completed as * printing may happen asynchronously, perhaps in a different thread. ! * Application clients which want to monitor the success or failure should ! * register a {@code PrintJobListener}. * <p> * Print service implementors should close any print data streams (ie ! * {@code Reader} or {@code InputStream} implementations) that they obtain ! * from the client doc. Robust clients may still wish to verify this. An ! * exception is always generated if a {@code DocFlavor} cannot be printed. ! * ! * @param doc the document to be printed. It must be a flavor supported by ! * this PrintJob. ! * @param attributes the job attributes to be applied to this print job. If ! * this parameter is {@code null} then the default attributes are ! * used. ! * @throws PrintException the exception additionally may implement an ! * interface that more precisely describes the cause of the * exception * <ul> ! * <li>{@code FlavorException}. If the document has a flavor not ! * supported by this print job. ! * <li>{@code AttributeException}. If one or more of the ! * attributes are not valid for this print job. * </ul> */ public void print(Doc doc, PrintRequestAttributeSet attributes) throws PrintException;
< prev index next >